python 修改代码错误:workbooks.save(filenames)
时间: 2024-02-06 07:12:25 浏览: 32
假设你要将三个 Excel 表格分别存储到 file1.xlsx、file2.xlsx、file3.xlsx 三个文件中,你可以使用以下代码:
```python
# 指定表格文件名列表
filenames = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']
# 使用循环存储多个表格
for i, wb in enumerate([wb1, wb2, wb3]):
wb.save(filenames[i])
```
在代码中,`wb.save(filenames[i])` 表示将 `wb` 这个 Excel 表格对象存储到 `filenames[i]` 这个文件中。如果你有更多的表格需要存储,只需要将文件名添加到 `filenames` 列表中即可。
相关问题
for i, workbook in enumerate(workbooks): workbook.save(filenames[i]) 保存名字增加-1
你想在保存的文件名中添加"-1",可以将文件名字符串中的".xlsx"替换为"-1.xlsx",然后再进行保存操作,代码如下:
```
for i, workbook in enumerate(workbooks):
filename = filenames[i].replace(".xlsx", "-1.xlsx")
workbook.save(filename)
```
这样就可以将文件名中的".xlsx"替换为"-1.xlsx",并保存带有"-1"的文件。
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')
以下是经过修正后的代码:
```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 表格的内容保存到同一个文件中。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)