我想通过psycopg2将csv文件导入PostgreSQL。但是,csv文件列名包含特殊字符。我可以用这些代码行通过psycopg2创建一个表
cursor.execute('''CREATE TABLE crimnalRate(CrimeDate DATE,
CrimeTime TIME,
CrimeCode TEXT,
Location TEXT,
Description TEXT,
"Inside/Outside" TEXT,
Weapon Text,
Post INT,
District TEXT,
Neighborhood TEXT,
Longitude DOUBLE PRECISION,
Latitude DOUBLE PRECISION,
"Location 1" TEXT,
Premise TEXT,
vri_name1 TEXT,
"Total Incidents" INT)''')
当我想使用copy_from功能导入带有这些代码行的csv文件时
df=open('BD1.csv','r')
cursor.copy_from(df,"crimnalRate", columns=('CrimeDate',
'CrimeTime',
'CrimeCode',
'Location',
'Description',
'Inside/Outside',
'Weapon',
'Post',
'District',
'Neighborhood',
'Longitude',
'Latitude',
'Location 1',
'Premise',
'vri_name1',
'Total Incidents'),sep=",")
并且它总是返回errorpsycopg2.errors.SyntaxError:SyntaxError位于或接近“/”
我尝试在特殊字符之前使用反斜杠,或者将特殊列名放在双引号中,但它仍然返回相同的错误消息。 如何修复此错误?谁能给我一些建议吗?多谢各位
这对我很有用:
也就是说,在“有趣”的列名中包含明确的双引号。恕我直言,你不得不这么做有点难看,但是再一次,文档明确表示表名需要这样做,所以列的工作方式是一样的
相关问题 更多 >
编程相关推荐