gpt4 book ai didi

python - 文件中的 PostgreSQL COPY 结果为空表

转载 作者:行者123 更新时间:2023-11-29 12:51:34 25 4
gpt4 key购买 nike

我正在使用以下代码将数据从 .csv 文件复制到表中:

带标题的 csv 文件(逗号分隔):

uid,name,val1,val2,file
SKU001,glasses,blue,metal,block_0
...

创建表:

ih_sql = 'CREATE TABLE "sku_data" (uid VARCHAR, name VARCHAR, val1 VARCHAR, val2 VARCHAR, file VARCHAR, PRIMARY KEY (uid));'
engine.execute(ih_sql)
#<sqlalchemy.engine.result.ResultProxy at 0x7fee9b8ff550>

复制数据:

ih_file = os.path.abspath(f'{PATH}data.csv')
copy_sql = f"COPY sku_data FROM '{ih_file}' WITH CSV HEADER DELIMITER ','"
engine.execute(copy_sql)
#<sqlalchemy.engine.result.ResultProxy at 0x7fee9b8ff710>

但是结果表是空的,创建了零行。我如何找出为什么没有从 csv 文件复制数据?

最佳答案

您必须显式提交事务,例如:

copy_sql = f"COPY sku_data FROM '{ih_file}' WITH CSV HEADER DELIMITER ','"
connection = engine.connect()
with connection.begin():
connection.execute(copy_sql)

阅读更多关于 Understanding Autocommit. 的信息

关于python - 文件中的 PostgreSQL COPY 结果为空表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52790730/

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