Traceback (most recent call last): File "C:\yh\PycharmProjects\a\A5204990500002023050006\testing.py", line 28, in <module> writer.save() ^^^^^^^^^^^ AttributeError: 'OpenpyxlWriter' object has no attribute 'save'. Did you mean: '_save'?
时间: 2023-11-13 11:12:20 浏览: 153
这个错误可能是因为您使用的是较老版本的pandas,`ExcelWriter.save()`函数已经被弃用了。您可以使用`ExcelWriter.close()`函数代替,或者升级到较新版本的pandas,使用`ExcelWriter.save()`函数。
下面是使用`ExcelWriter.close()`函数的示例代码:
```python
import pandas as pd
import os
from openpyxl.styles import Font
# 文件夹路径
folder_path = r'C:\yh\PycharmProjects\a\A5204990500002023050006'
# 获取文件夹内所有的文件名
file_names = os.listdir(folder_path)
# 读取所有的excel文件
dfs = []
for file_name in file_names:
if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
file_path = os.path.join(folder_path, file_name)
df = pd.read_excel(file_path)
dfs.append(df)
# 合并所有的数据
df_all = pd.concat(dfs)
# 设置内容格式
font = Font(name='Arial', size=12, bold=False, italic=False, color='FF000000')
writer = pd.ExcelWriter('all.xlsx', engine='openpyxl')
df_all.to_excel(writer, index=False)
for sheetname in writer.book.sheetnames:
writer.sheets[sheetname].cell(row=1, column=1).font = font
writer.close()
```
这段代码与上面的代码基本相同,只是使用了`ExcelWriter.close()`函数代替了`ExcelWriter.save()`函数。
阅读全文