我有一个CSV文件看起来是这样的:(前 - ['Date', 'Person', 'Time Out', etc.] or ['6/20/2016', 'August', '11:58' etc.]
)CSV文件到SQL INSERT语句
Date,Person,Time Out,Time Back,Restaurant,Calories,Delicious?
6/20/2016,August,11:58,12:45,Black Bear,850,Y
6/20/2016,Marcellus,12:00,12:30,Brought Lunch,,Y
6/20/2016,Jessica,11:30,12:30,Wendy's,815,N
6/21/2016,August,12:05,1:01,Brought Lunch,,Y
到目前为止,我已经成功地打印每行成一个字符串列表。
现在我需要做2件更多的事情:(为前 - ['ID', 'Date', 'Person', etc.] and ['1', '6/20/2016', 'August', etc.]
)
- 添加ID头和连续的数字串的每一行
- 分开的每一行,使他们能够被格式化成插入 语句,而不是只具有程序打印出每一行此起彼伏 -
这里就我现在已经得到了我的代码(前INSERT INTO Table ['ID', 'Date', 'Person', etc.] VALUES ['1', '6/20/2016', 'August', etc.]
):
import csv
openFile = open('test.csv', 'r')
csvFile = csv.reader(openFile)
for row in csvFile:
print (row)
openFile.close()
是ID列在您的SQL表的主键?如果是这样,您可以依赖SQL的** auto_increment **属性,并忽略插入查询中的ID列。 – Mumpo
为什么不使用MySQL的内置'LOAD DATA INFILE'来直接从CSV文件加载到数据库,而不是使用Python解析它? – Barmar
@Mumpo,是的。我对MySQL并不是很熟悉,所以我不知道这是一种选择,但似乎比我上面列出的更可行。谢谢你的提示。 – ThoseKind