我有一个包含4000列的CSV文件,我需要将其导入postgres数据库。我正在使用pgadminIII。在ORACLE SQL中,有一个选项,我可以右键单击表并导入。 Postgres有没有类似的方法。如果不是创建具有如此多列的表的最有效方法是什么?
更新 - 我得到了它的工作:
import pandas as pd
df = pd.read_csv('C:/Users/dbharali0376/Desktop/Merge_N_Reorder/ip_merged_52_final.csv',dtype='unicode')
df.columns = [c.lower() for c in df.columns]
from sqlalchemy import create_engine
engine = create_engine('postgresql://postgres:password@localhost:5432/postgres')
df.to_sql("trial", engine, if_exists='append',index=False)
这将从输入csv创建一个新表。
答案 0 :(得分:0)
列代表什么?是时间戳还是其他能在关系数据库中更好地表示为行的时间戳?
我的猜测是,你将不得不以某种方式将CSV操纵成postgres可以处理的东西。
“pgfutter”是一个python脚本,它将根据CSV标头为您创建表,然后使用COPY命令加载数据。它不是GUI工具,但应该易于使用。
答案 1 :(得分:0)
在PGAdmin III中