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()

确保您没有打开要写入的文件。