python检查代码错误:from openpyxl import load_workbook import unicodedata # 加载 Excel 文件 workbook = load_workbook(filename='统计.xlsx') # 指定表格文件名列表 filenames = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx'] # 使用列表推导式读取多个表格 workbooks = [load_workbook(filename) for filename in filenames] # 遍历每个工作表 for sheetname in workbooks.sheetnames: sheet = workbooks[sheetname] # 遍历每个单元格 for row in sheet.iter_rows(): for cell in row: # 判断单元格是否为字符串类型 if isinstance(cell.value, str): # 将全角字符转换为半角字符 cell.value = unicodedata.normalize('NFKC', cell.value) # 保存修改后的 Excel 文件 workbooks.save(filename='example1.xlsx')
时间: 2024-01-16 14:02:10 浏览: 70
以下是经过修正后的代码:
```python
import unicodedata
from openpyxl import load_workbook
# 加载 Excel 文件
workbook = load_workbook(filename='统计.xlsx')
# 指定表格文件名列表
filenames = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']
# 使用列表推导式读取多个表格
workbooks = [load_workbook(filename) for filename in filenames]
# 遍历每个工作表
for workbook in workbooks:
for sheetname in workbook.sheetnames:
sheet = workbook[sheetname]
# 遍历每个单元格
for row in sheet.iter_rows():
for cell in row:
# 判断单元格是否为字符串类型
if isinstance(cell.value, str):
# 将全角字符转换为半角字符
cell.value = unicodedata.normalize('NFKC', cell.value)
# 保存修改后的 Excel 文件
workbook.save(filename='example1.xlsx')
```
修正后,代码中的问题包括:
1. `from openpyxl import load_workbook import unicodedata` 这一行代码中应该将 `import unicodedata` 移到 `from openpyxl import load_workbook` 的下一行。
2. `workbooks.sheetnames` 应该修改为 `workbook.sheetnames`,因为在遍历时,变量名 `workbook` 代表的是一个具体的 Excel 表格对象。
3. 最后一行代码应该移动到外层循环之后,否则会将多个 Excel 表格的内容保存到同一个文件中。
阅读全文