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

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

@app.route('/import', methods=['GET', 'POST'])
    def upload():
        if request.method == 'POST':
            file = request.files['file']
            if not file.filename:
                errors.append("Please select a file!")
            else:
                ...
                data = [GET CSV DATA HERE]
                process_data(data)

Как я могу получить данные из CSV-файла, чтобы я мог передатьпо следующему методу:

def process_data(file):
    with open(file, 'r') as csv_file:
        csv_reader = csv.reader(csv_file, delimiter=',')
        ...

Заранее спасибо!

1 Ответ

0 голосов
/ 30 сентября 2018

Во-первых, я бы поменял логику оператора if.

if file.filename:
    csv_file = request.files["file"]
    data = [GET CSV DATA HERE]
    process_data(data)
else:
    errors.append("Please select a file!")

#You could also have elif before the else to ensure
#that the requirement is met
elif file.filename:
    pass

Это имеет больше смысла, только если файл присутствует или был загружен в вашем случае, если будет сделана попытка чтения файла.Если файл не был загружен, но был пост-запрос, скажем, кто-то загрузил неправильный тип файла, это приведет к ошибке, которая приведет к прекращению выполнения скрипта / приложения.

Файл уже присутствует впросьба, но это простой пример того, что вы легко сможете обернуть голову, учитывая, как далеко вы смогли продвинуться так далеко.

https://www.pythoncircle.com/post/30/how-to-upload-and-process-the-csv-file-in-django/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...