所以我要做的是创建一个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..................................')