gpt4 book ai didi

python - 将大型数据帧加载到 Vertica

转载 作者:行者123 更新时间:2023-12-01 01:16:05 26 4
gpt4 key购买 nike

我有一个相当大的数据帧(500k+行),我正在尝试将其加载到Vertica。我可以使用以下代码,但速度非常慢。

#convert df to list format
lists = output_final.values.tolist()

#make insert string
insert_qry = " INSERT INTO SCHEMA.TABLE(DATE,ID, SCORE) VALUES (%s,%s,%s) "

# load into database
for i in range(len(lists)):
cur.execute(insert_qry, lists[i])
conn_info.commit()

我看过一些帖子讨论使用 COPY 而不是 EXECUTE 来完成如此大的负载,但还没有找到一个好的工作示例。

最佳答案

经过多次尝试和错误...我发现以下内容对我有用。

   # insert statements
copy_str = "COPY SCHEMA.TABLE(DATE,ID, SCORE)FROM STDIN DELIMITER ','"

# turn the df into a csv-like object
stream = io.StringIO()
contact_output_final.to_csv(stream, sep=",",index=False, header=False)

# reset the position of the stream variable
stream.seek(0)

# load to data
with conn_info.cursor() as cursor:
cur.copy(copy_str,stream.getvalue())
conn_info.commit()

关于python - 将大型数据帧加载到 Vertica,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54338108/

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