gpt4 book ai didi

python - 不能使用 Postgres 和 Python "COPY FROM"

转载 作者:行者123 更新时间:2023-11-28 22:58:23 24 4
gpt4 key购买 nike

作为主题,这是代码,没有错误消息,但数据没有插入。这是我的代码,谁能告诉我它有什么问题?

import psycopg2
import sys
import os
import glob
import csv

#open the csv folder
dictfile='******'
os.chdir(dictfile)
total=[]
for file in glob.glob("*.csv"):
total.append(file)
con = None
try:
con = psycopg2.connect(host='localhost',database='*****',user='postgres', password='*****')
cur = con.cursor()
for i in range(0,1):
filename='/Users/Shared'+'/'+total[0]
print filename
#better move all files into shared folder
x="copy public.crossref_sample from "+ "'"+filename+"'"+" DELIMITERS ',' CSV"
print x
cur.execute(x)
except psycopg2.DatabaseError, e:
print 'Error %s' % e
sys.exit(1)
finally:
if con:
con.close()

最佳答案

正如@a_horse_with_no_name 所暗示的,您正在关闭 PostgreSQL 数据库连接,但您并未首先提交事务。

psycopg2 会为您打开一个交易(如果还没有打开的话)。它希望您在完成工作后提交此事务。

除非您显式提交事务,否则关闭连接将回滚任何已完成的工作。

在最后一个复制命令之后尝试 con.commit()

关于python - 不能使用 Postgres 和 Python "COPY FROM",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13868492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com