无法在MySQL中插入日期

时间:2012-05-25 14:01:39

标签: python mysql

我正在尝试使用Python在MySQL中插入数据。将,_,,: - )插入数据库时​​出错。

TypeError: not all arguments converted during string formatting             

在代码中:

emoticons = 'C:/Users/user/Desktop/emoticons.txt'
csv_data = csv.reader(open(emoticons, 'rb'))
count = 0
for row in csv_data:
   count = count + 1
   c.execute("INSERT INTO Emoticons (Emotions) VALUES (%s)", row)
db.close()

我是否遗漏了代码中的内容?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

csv.reader(open(emoticons, 'rb'))

将文件读取为CSV,并使用逗号作为默认分隔符,并返回一个列表(row变量)。

c.execute("INSERT INTO Emoticons (Emotions) VALUES (%s)", row)

等待row中只有一个元素的元组(因为查询字符串中有一个%s)。

您的文件可能包含逗号,这些行将被拆分为多个无法格式化为查询的元素。

如果要将文件中的整行插入数据库,则不必使用csv

emoticons = 'C:/Users/user/Desktop/emoticons.txt'
with open(emoticons, 'r') as f:
    for row in f:
        c.execute("INSERT INTO Emoticons (Emotions) VALUES (%s)", (row,))
db.close()