2016-07-09 6 views
1

4000 열이 포함 된 CSV 파일이 있는데이 파일을 postgres 데이터베이스로 가져와야합니다. 나는 pgadminIII를 사용하고있다. 오라클 SQL에는 테이블을 마우스 오른쪽 버튼으로 클릭하고 가져올 수있는 옵션이 있습니다. Postgres에 비슷한 방법이 있습니까? 너무 많은 열이있는 표를 만드는 가장 효과적인 방법은 무엇입니까?PostgreSQL의 csv에서 데이터 가져 오기

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:[email protected]:5432/postgres') 

df.to_sql("trial", engine, if_exists='append',index=False) 

이 입력 CSV에서 새 테이블을 생성 : 나는 그것을 작업 가지고 Update-

.

+0

https://www.postgresql.org/docs/current/static/sql-copy.html –

+1

당신이 오라클과 그것을 할 수 있는지 확인 있습니까? 기억 하듯이 테이블 제한 당 1000 개의 열이 있습니다. 그러나 PostgreSQL은 "고무"가 아니며 [칼럼 유형에 따라 표 250 - 1600 당 최대 열] (https://www.postgresql.org/about/) 제한이 있습니다. – Abelisto

+0

@Gordon Linoff, COPY를 위해 이미 테이블이 필요합니다. 거기 GUI를 통해 그 많은 열을 가진 테이블을 만드는 방법입니다 또는 각 열 이름을 입력해야합니까. –

답변

0

열은 무엇을 나타내는가? 관계형 데이터베이스에서 행으로 더 잘 표현 될 수있는 타임 스탬프 또는 다른 것이 있습니까?

내 생각 엔 그 CSV를 어떻게해서든지 포스트그레스가 처리 할 수있는 것으로 조작해야한다는 것입니다.

"pgfutter"는 CSV 헤더를 기반으로 테이블을 만들고 COPY 명령을 사용하여 데이터를로드하는 python 스크립트입니다. GUI 도구는 아니지만 사용하기 쉽습니다. PGAdmin에서

0

III

  1. 이 스키마에서 테이블 옵션으로 이동합니다.
  2. 테이블 아래에서 테이블을 마우스 오른쪽 버튼으로 클릭하고 가져 오기를 클릭하십시오.
  3. crv 파일을 찾아보고 형식을 클릭하고 crv를 선택하십시오.
  4. 는 가져 오기 사용자 정의 - 인코딩/Delimter 등
+0

이미 생성 된 테이블이있는 경우에만 작동합니다. 내 질문을 업데이트했습니다. 나는 그 틈새를 발견했다. –

관련 문제