pandas dataframe写入xlsx文件时的权限错误

时间:2017-08-03 08:41:24

标签: python pandas xlsxwriter

当我想将我的数据帧保存在名为pandas_simple.xlsx的excel文件中时,我收到此错误

以下是我的错误:

enter image description here

这是我的代码:

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

任何人都可以在这里与我分享一些想法吗?

4 个答案:

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