如何使用“另存为”窗口向用户询问保存.csv文件的目录?

kr98yfug  于 2023-04-18  发布在  其他
关注(0)|答案(2)|浏览(130)

我正在写一个程序,它将从用户选择的输入文件创建一个.csv文件,并将该.csv文件保存到用户喜欢的任何地方。
下面是我所拥有的,它保存到与项目相同的目录中。

# Create 2d list to export
full_list = list(zip(a_list, b_list, c_list))

# Create .csv
myFile = open('output.csv', 'w', newline='')
writer = csv.writer(myFile)

# Write to .csv
for unit in full_list:
    writer.writerow(unit)

如何让用户使用“保存为”窗口为输出选择目录和文件名?
我已经使用tkinter filedialog.askopenfilename()管理输入部分,以返回要打开的文件的目录。我无法让输出部分与filedialog.asksaveasfilename()一起工作。它们似乎做同样的事情?我可以在哪里输入此文件路径输入,以便将.csv保存在那里?
我试过:

myFile = open(filedialog.asksaveasfilename(), 'output.csv', 'w', newline='')
writer = csv.writer(myFile)

我在网上找到的所有东西都只是解释了如何打开“保存为”窗口,而不是如何输入文件进行保存。

8dtrkrch

8dtrkrch1#

可以使用filedialog.asksaveasfilename()函数提示用户输入保存CSV文件的文件名和目录

import csv
from tkinter import filedialog, Tk

# Create 2d list to export
full_list = list(zip(a_list, b_list, c_list))

# Prompt the user to choose a directory and file name to save the CSV file
root = Tk()
root.withdraw()
file_path = filedialog.asksaveasfilename(defaultextension='.csv')

# Create the CSV file and write to it
with open(file_path, 'w', newline='') as myFile:
    writer = csv.writer(myFile)
    for unit in full_list:
        writer.writerow(unit)
wbgh16ku

wbgh16ku2#

myFile = open('output.csv', 'w', newline='')

我以为'output.csv'参数只是文件名,但它也可以提供文件路径。

file_path = filedialog.asksaveasfilename(defaultextension='.csv')
myFile = open(file_path, 'w', newline='')

相关问题