gpt4 book ai didi

python - CSV 到 MySQL 上传问题

转载 作者:行者123 更新时间:2023-11-29 07:27:32 28 4
gpt4 key购买 nike

我已经改编了this code (发布在下面是为了节省您的点击)为我工作。我有两个问题。

1) 如何让上传者跳过标题行?现在,它将上传我的 CSV 中的第一行,该行仅定义了列。因此,在此示例中,我的数据库中的条目将是“名字、姓氏、电子邮件”。

2) 2 列显示“名字”“姓氏”,显然空格搞砸了,抛出一个错误,说我的 SQL 语法有问题,并检查我的版本手册。在我自己尝试之后,我发现如果我用 _ 替换空格,它就会起作用。所以新列是“First_Name”和“Last_Name”。有没有办法既不出现错误也不使用下划线?

import csv
import MySQLdb

mydb = MySQLdb.connect(host='server IP',
user='DB User Name',
passwd='PW for DB user',
db='name of DB')
cursor = mydb.cursor()

csv_data = csv.reader(file('test.csv'))
for row in csv_data:

cursor.execute('INSERT INTO testcsv(First_Name, \
Last_Name,email )' \
'VALUES("%s","%s","%s")',
row)
#close the connection to the database.
mydb.commit()
cursor.close()
print "Done"

最佳答案

要跳过第一行,可以使用:

next(csv_data, None)    
for row in csv_data:

我认为 mysql 不接受带空格的列名,因此下划线听起来像是一个合理的解决方法,您仍然可以以不同的方式向用户显示。

关于python - CSV 到 MySQL 上传问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34027217/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com