当我想将我的数据帧保存在名为pandas_simple.xlsx的excel文件中时,我收到此错误
以下是我的错误:
这是我的代码:
import pandas as pd
df = pd.DataFrame({'Car': [101, 20, 350, 20, 15, 320, 454]})
writer = pd.ExcelWriter('pandas_simple.xlsx')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()
writer.close()
任何人都可以在这里与我分享一些想法吗?
答案 0 :(得分:5)
您尝试写入需要管理权限的文件夹。变化:
writer = pd.ExcelWriter("pandas_simple.xlsx")
为:
writer = pd.ExcelWriter("C:\\...\\pandas_simple.xlsx")
使用完整路径,您将不会遇到任何问题。
答案 1 :(得分:1)
pandas.DataFrame.to_excel的文档说第一个参数可以是表示文件路径的字符串。在你的情况下,我将删除与作家的所有行,并尝试
df.to_excel('pandas_simple.xlsx')
这应该将pandas_simple.xlsx写入您当前的工作目录。如果这不起作用,请尝试提供完整路径名(例如C:\\ Users \\ John \\ pandas_simple.xlsx)。另外,请确保您不要尝试写入需要管理权限的目录。
答案 2 :(得分:0)
如果您已经在桌面上打开了同一文件的版本(在这种情况下为pandas_simple.xlsx),也会发生此错误。在这种情况下,python将无权关闭和覆盖同一文件。关闭excel文件并重新运行脚本应该可以解决该问题。
答案 3 :(得分:0)
尝试关闭在Excel应用程序中打开的xlsx文件,然后再次运行代码,它对我有用,并且您也应该这样做。
我附上我的代码段供您参考
import pandas as pd
file='C:/Users/Aladahalli/Desktop/Book1.xlsx'
xls = pd.ExcelFile(file)
df = pd.read_excel(xls, sheet_name='Sheet1')
#create a column by name Final and store concatinated columns
df["Final"] = df["Name"] + " " + df["Rank/Designation"] + " " + df["PS"]
print(df.head())
# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('C:/Users/Aladahalli/Desktop/Final.xlsx', engine='xlsxwriter')
# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')
# Close the Pandas Excel writer and output the Excel file.
writer.save()
writer.close()