pandas 数据帧写入 xlsx 文件时出现权限错误
Permission error when pandas dataframe is write to xlsx file
我想将我的数据框保存在名称为 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()
有人可以在这里和我分享一些想法吗?
您尝试写入需要管理权限的文件夹。变化:
writer = pd.ExcelWriter("pandas_simple.xlsx")
至:
writer = pd.ExcelWriter("C:\...\pandas_simple.xlsx")
有了完整路径,你就不会有问题了。
pandas.DataFrame.to_excel的文档说第一个参数可以是代表文件路径的字符串。在你的情况下,我会删除与 writer 的所有行,然后尝试
df.to_excel('pandas_simple.xlsx')
应该将 pandas_simple.xlsx 写入您当前的工作目录。如果这不起作用,请尝试提供完整路径名(例如 C:\\Users\\John\\pandas_simple.xlsx)。还要确保您不要尝试写入需要管理权限的目录。
如果您的桌面上已经打开了同一文件的某个版本(在本例中为 pandas_simple.xlsx),也可能会发生此错误。在这种情况下,python 也没有关闭和覆盖同一文件的权限。关闭 excel 文件并重新 运行 脚本应该可以解决问题。
如果路径正确呢?!!!
尝试关闭在 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()
确保您没有打开要写入的文件。
我想将我的数据框保存在名称为 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()
有人可以在这里和我分享一些想法吗?
您尝试写入需要管理权限的文件夹。变化:
writer = pd.ExcelWriter("pandas_simple.xlsx")
至:
writer = pd.ExcelWriter("C:\...\pandas_simple.xlsx")
有了完整路径,你就不会有问题了。
pandas.DataFrame.to_excel的文档说第一个参数可以是代表文件路径的字符串。在你的情况下,我会删除与 writer 的所有行,然后尝试
df.to_excel('pandas_simple.xlsx')
应该将 pandas_simple.xlsx 写入您当前的工作目录。如果这不起作用,请尝试提供完整路径名(例如 C:\\Users\\John\\pandas_simple.xlsx)。还要确保您不要尝试写入需要管理权限的目录。
如果您的桌面上已经打开了同一文件的某个版本(在本例中为 pandas_simple.xlsx),也可能会发生此错误。在这种情况下,python 也没有关闭和覆盖同一文件的权限。关闭 excel 文件并重新 运行 脚本应该可以解决问题。
如果路径正确呢?!!!
尝试关闭在 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()
确保您没有打开要写入的文件。