我有一个excel文件列表,我正在从它们创建数据帧。我在数据帧上执行几项任务,然后尝试将这些数据帧写回文件(更像是完全替换它们)。但是我无法写文件。
这是代码
for file in files:
file_name = os.path.basename(file)
table = pd.read_excel(file, 0)
## (Perform Operations here)
writer = pd.ExcelWriter(file)
df.to_excel(writer,'Sheet1')
writer.save
现在,当我尝试将文件读回到pandas时,我收到此错误
FileNotFoundError: [Errno 2] No such file or directory: 'test2.xlsx'
任何地方都没有创建文件。但我无法分辨我哪里出错了。
此外writer.save
返回
<bound method _XlsxWriter.save of <pandas.io.excel._XlsxWriter object at 0x000000000B9712E8>>
答案 0 :(得分:1)
问题是您在没有括号的情况下调用write.save
。如果.save
只是attribute
,那么这可行。但由于它是method
,因此需要使用括号调用它才能发生任何效果。因此,您应该将代码更改为以下内容:
for file in files:
file_name = os.path.basename(file)
table = pd.read_excel(file, 0)
## (Perform Operations here)
writer = pd.ExcelWriter(file)
df.to_excel(writer,'Sheet1')
writer.save()
我希望这会有所帮助。