Итак, я создал HTML-форму, с помощью которой я могу отправлять CSV-файлы, которые затем обрабатываются скриптом Python.
Далее я, скорее всего, буду создавать имена файлов каждого CSV-файла.динамически в следующем формате: YYYY-MM-DD HH.MM.SS.csv
.
Есть ли способ получить имя файла отправленного файла CSV, чтобы я мог открыть файл способом, изображенным ниже?
with open('????-??-?? ??.??.??.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['first_name'], row['last_name'])
Ниже приведена форма формы, и я знаю, что могу передать имя файла вперед, используя get
, но должен быть способ сделать это с помощью post
...
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="process-excel.py" method="post" enctype="multipart/form-data">
<input type="file" name="myFile">
</form>
</body>
</html>
process-excel.py
Помните, что приведенный ниже скрипт - это просто старый шаблон, который я сохранил для использования PyMySQL для вставки данных в базу данных.
# -*- coding: utf-8 -*-
import pymysql.cursors
import csv
""" HOW DO I RETRIEVE THE FILENAME OF A FILE THAT IS SUBMITTED
''' FROM <input type="file" name="myFile"> IN THE FORM ABOVE?
"""
with open('names.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['first_name'], row['last_name'])
con = pymysql.Connect(host='localhost',
user='',
password='',
db='',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
with con.cursor() as cursor:
sql = "INSERT INTO `test` (`title`, `description`, `category`) VALUES (%s, %s, %s)"
cursor.execute(sql, ('a', 'b', 'c'))
con.commit()
except Exception:
raise Exception('INSERT FAILED..................................')