【问题标题】:Getting the input from the user to create a csv file获取用户的输入以创建 csv 文件
【发布时间】:2019-04-16 09:43:04
【问题描述】:

这里有点麻烦。我想使用用户在程序中输入的名称创建一个 CSV 文件。我已经在网站上检查并尝试了多种解决方案。对我来说,这个应该有用:

CSVfilename = "synonymes.csv"
modifiedCSV = input("Enter file name : ")
os.rename(CSVfilename, modifiedCSV +".csv")

csv_file = open(CSVfilename, "w", encoding='utf-8', newline = '')
csv_writer = csv.writer(csv_file)

但这不起作用。如何在创建 CSV 文件或允许用户重命名之前获取用户的输入?

我在 Python3 中使用 csv 模块。我没有收到错误,只是不要创建我稍后将使用的 csv 文件。

感谢您的帮助!

【问题讨论】:

  • 您要创建文件或重命名现有文件?
  • 我希望用户能够创建它并按自己的意愿命名

标签: python csv input operating-system


【解决方案1】:

我认为您可以稍微简化代码。您可以只要求用户输入文件名,然后创建一个文件。为此,您可以在w 模式下打开文件,如果文件不存在则创建该文件(如果文件存在则覆盖该文件):

import csv
import os

path = 'folder/path/here'
name = input("Enter file name : ") + '.csv'
csvFileName = os.path.join(path,name)

现在您可以使用您的文件了:

with open(csvFileName, 'w') as csv_file:
    csvWriter = csv.writer(csv_file, delimiter = ',')
    csvWriter.writerow(#<Your data here>#)

注意:只是出于格式原因发布作为答案

【讨论】:

  • 我会试试这个并告诉你我得到了什么
  • 我刚刚编辑了答案以添加我忘记的文件扩展名。我尝试了这段代码,它对我有用。该文件与脚本在同一目录中创建....
  • @BeatJuice 我已经添加了几行来指定应该创建文件的完整路径。
【解决方案2】:

写在这里,这样我就可以放代码了。

NomdufichierCSV = input("Entrez le nom de votre fichier : ") + ".csv"

with open(NomdufichierCSV, "w", encoding='utf-8', newline = '') as csv_file:
    csv_writer = csv.writer(csv_file)
    csv_writer.writerow("Hello World")

我仍然没有得到在文件夹中创建的 CSV 文件……我不明白为什么……现在我知道它对你有用。

【讨论】:

  • 很抱歉它不起作用,我尝试了您发布并为我工作的确切代码...您是否尝试在计算机的其他位置查找文件?
  • 确实是它创建的,但在其他文件夹中,我不知道为什么。无论如何,这可行:) 谢谢老兄!
  • 好的,也许它在 python 可执行文件夹中创建了它。无论如何,您可以指定完整路径,我会更新我的答案。
猜你喜欢
  • 1970-01-01
  • 2017-10-02
  • 1970-01-01
  • 2014-02-14
  • 1970-01-01
  • 2020-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多