如何让Python脚本将CSV文件发送到特定的文件夹位置



我目前有一个API,它调用系统并从该系统生成数据的CSV文件。这个CSV文件被放在我电脑上的一个文件夹中,但我想把它放在电脑上的另一个特定文件夹中。

我没有在API中指定的当前文件夹,所以我不确定为什么要放在那里。

我想我需要更改下面的公开声明。我有没有办法在这个子句中写一个路径,这样它就可以放在另一个文件夹中?还是我需要在其他地方说明?

with open("UserStory.csv", "w", newline="") as outputFile:
writer = csv.DictWriter(outputFile, ["Number","Estimate", "Project", "CreateDate", "ClosedDate", "CompletedDate", "Sprint", "Sprint Start", "Sprint End","Planned","Team",  "BlockingIssues", "Status"])
writer.writeheader()

指定文件的完整路径,如下所示:

file_path = '/home/user/doc/file_name.csv'

with open(file_path, "w", newline="") as outputFile:

如果目录不存在,请使用os.mkdir(dir_path)创建一个目录

当您只使用"UserStory.csv"指定一个文件名时,它将存储在所谓的"当前工作目录"中。这很可能是包含您的python脚本的同一个文件夹。

要将目录保存在另一个文件夹中,可以指定一个绝对路径:

with open(r"C:Usersmy_userDocumentsmy_csv_filesUserStory.csv", "w", newline="") as outputFile:

我建议您花一些时间来了解目录路径。你应该了解绝对路径和相对路径之间的区别。

使用os.path.join 写入特定目录

import os
def write_to_dir(file, dir):
with open(os.path.join(dir, file), "w", newline="") as outputFile:
os.makedirs(dir, exists_ok=True) #address directory DNE 
writer = csv.DictWriter(outputFile, ["Number","Estimate", "Project", "CreateDate", "ClosedDate", "CompletedDate", "Sprint", "Sprint Start", "Sprint End","Planned","Team",  "BlockingIssues", "Status"])
writer.writeheader()

最新更新