Получение ввода от пользователя для создания файла CSV - PullRequest
0 голосов
/ 13 ноября 2018

Здесь немного неприятностей. Я хотел бы создать 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 или позволить пользователю переименовать его?

Я использую модуль CSV в Python3. Я не получаю ошибку, просто не создавайте CSV-файл, который я буду использовать позже.

Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Пишу здесь, чтобы я мог поставить код.

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, созданный в папке ... Я не понимаю, почему ... даже больше теперь, когда я знаю, что это работает для вас.

0 голосов
/ 13 ноября 2018

Я думаю, вы можете немного упростить свой код.Вы можете просто попросить пользователя ввести имя файла, а затем создать файл.Для этого вы можете просто открыть файл в режиме 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>#)

Примечание: просто сообщение в качестве ответа для причины форматирования

...