如何将csv文件保存到特定路径?

时间:2017-09-07 14:03:03

标签: python csv

最近,我有一个项目是将一些数据保存为csv文件并将其保存在绝对路径中。 这是我的代码。

import csv
a=[1,2,3,4,5,6,7,8,9]
with open("C:/test.csv","w") as f:
    writer = csv.writer(f)
    writer.writerows(a)

但它显示了一些像这样的错误

Traceback (most recent call last):
  File "C:/Users/rickchen/Desktop/save1.py", line 3, in <module>
    with open("C:/test.csv","w") as f:
IOError: [Errno 13] Permission denied: 'C:/test.csv'

任何高手都可以帮帮我吗?非常感谢^ _ ^

1 个答案:

答案 0 :(得分:1)

您可能没有写入C驱动器根目录的写入权限。您可以尝试以下几种方法:

  1. 以管理员权限运行Python。这显然取决于您运行脚本的方式。例如,如果您正在启动命令提示符并在其中运行脚本,请右键单击它并选择“以管理员身份运行”。

  2. 使用Windows为您的用户帐户授予对C:\根文件夹的写入权限。

  3. 可能确保输出文件尚未在其他应用程序中打开。

  4. 理想情况下,您应该写一个更合适的文件夹。例如,可以直接将输出写入DesktopDocuments文件夹。

  5. 您的脚本可以按如下方式更新:

    import csv
    import os
    
    a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    filename = os.path.join(os.environ["HOMEDRIVE"], os.environ["HOMEPATH"], "Desktop", "test.csv")
    
    with open(filename, "wb") as f:
        writer = csv.writer(f)
        writer.writerow(a)  # Or use writer.writerows([row] for row in a) for one per line
    

    os.environ["HOMEDRIVE"]os.environ["HOMEPATH"]会为您的用户提供主文件夹,添加DesktopDocuments会为您提供合适的路径。 os.path.join()用于通过合适的分隔符安全地连接各个位,为您提供文件名,如:

    C:\Users\Fred\Desktop\test.csv
    

    这假设您使用的是Python 2.x

    如果您使用的是Python 3.x,则只需修改文件的打开方式,以便与CSV编写器一起使用:

    with open(filename, "w", newline="") as f: