我的这部分代码用于循环遍历一个文件夹并导入多个csv文件到postgresql数据库:
import psycopg2
file_names = [
'C:/john/database_files'
]
con = psycopg2.connect(database="xxxx", user="xxxx", password="xxxx", host="xxxx")
for file_name in file_names:
with open(file_name, 'r') as file_in:
next(file_in)
with con.cursor() as cur:
cur.copy_from(file_in, "table_name", columns=('col1', 'col2', 'col3', 'col4', 'col5'), sep=",")
con.commit()
con.close()
字符串
如果有相同列标题的新csv文件稍后创建,我想只从新csv文件导入数据,以便新数据被添加到数据库中的相同数据表(不覆盖)。例如,如果创建了一个10行的新csv文件,而我当前的数据库有100行,则更新后的数据表将有110行。
非常感谢!
1条答案
按热度按时间kjthegm61#
我已经更新了代码,以创建一个包含所有索引文件列表的文本文件。这将允许代码只读取看不见的csv文件。
字符串