使用Python将特定csv-columns导入postgres-db的方法

时间:2015-03-05 08:37:21

标签: python postgresql csv psycopg2

我对将csv-data导入postgres数据库的可能性感到有些困惑。

我的问题:我有一个包含大约70列的csv文件,但我只想导入这70列的特定列。

我已经尝试了psycopg2.copy_from(),但是当我指定我的列时:

psycopg2.copy_from(csv_in, 'stamm_data', sep=';', columns = 'col_1', 'col_4', 'col_7')

我明白了:

Error: extra data after last expected column

因此,另一种解决方案是使用dictionaries将列名作为键,将数据作为值,然后将数据psycopg2.execute("INSERT INTO..")导入数据库。

我也可以将我需要的列写入新的csv文件,并使用psycopg2.copy_from()导入它。

或者我使用psycopg2.execute("COPY ..")psycopg2.copy_expert()

那么,对我的问题最有效的方式是什么?

0 个答案:

没有答案