以下是第一行的示例:
link,Title,Description,Keywords
它是由excel工作簿制作的,我尝试保存所有CSV格式(窗口,ms-dos和逗号分隔列表)我甚至尝试以2个txt文件格式保存(窗口,ms-dos)
...ķ 这是代码:
csvReader = csv.reader(file('files/my_file.csv', "rU"), delimiter=',')
我必须拥有U,否则我会得到通用的新行错误
...ķ 这是错误:
16:56:25,085 ERROR [__main__] Script Error: syntax error at or near "."
LINE 1: ...escription, meta_keywords) VALUES ('link', 'Title'. 'Descrip...
^
16:56:25,085 ERROR [__main__] Script Error: syntax error at or near "."
LINE 1: ...escription, meta_keywords) VALUES ('link', 'Title'. 'Descrip...
抱怨 你看到...出于某种原因,当它通过csv.reader函数时,第一个逗号就可以了,第二个逗号就成了句号!
有人碰到过这个吗?
答案 0 :(得分:3)
你正在读取一个CSV文件,然后把这些数据和插入一个SQL数据库,显然,虽然你没有这么说。您的SQL语句中存在语法错误。
请注意,大多数SQL数据库都有CSV导入,因此您无需编写它们。 另请注意,您显然正在尝试导入包含列标题的第一行。这肯定是不正确的。
这一切都表明,在Stackoverflow上显示有问题的真实代码非常重要。 缩小代码,直到您可以在代码中显示问题,该代码足够小,可以粘贴到此处。
99%的时间你会发现错误。
答案 1 :(得分:1)
这是价值陈述! geez,但是我做了一个log.debug并且没有看到它在sql之前的输出......但这是最大的def它是什么。我没有尝试导入第一行,我故意将其插入那里以显示实际数据。抱歉给你带来不便。我认为代码没有超过我发布的那条线。除了文件名之外,它是真正的代码。我是Python的新手,而不是SQL,所以我确信它是csv.reader,因为它对我来说太陌生了。谢谢你们的帮助。
答案 2 :(得分:0)
csv.reader
不负责构造SQL语句,其片段显示在您发布的错误消息中 - 您的代码的其他一部分必须是构造此语句的部分,并且它正在执行此操作错误的方法。因此,不要考虑csv.reader
,而是关于你做什么的元组,它会返回到你的代码的其余部分! - )