繁体   English   中英

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

[英]How to save csv file into a specific path?

最近,我有一个项目是将一些数据另存为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'

主人可以帮我吗? 非常感谢^ _ ^

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

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

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

  3. 可能要确保输出文件尚未在另一个应用程序中打开。

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

您的脚本可以更新如下:

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"]将提供用户的主文件夹,添加“ Desktop或“ Documents将为您提供合适的路径。 os.path.join()用于安全地将各个位与合适的分隔符连接在一起,从而为您提供文件名,例如:

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

假设您使用的是Python 2.x


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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM