2017-01-19 3 views
1

팬더 데이터 프레임 df과 PostgreSQL 테이블 my_table이 있습니다. my_table을 자르고 my_table 스키마에 영향을주지 않고 my_tabledf (같은 순서의 열이 있음)을 삽입하고 싶습니다. 어떻게해야합니까?pandas DataFrame을 기존 PostgreSQL 테이블에 어떻게 삽입합니까?

다소 단순한 시도로 my_table을 삭제하고 pandas.DataFrame.to_sql을 사용했지만 다른 스키마로 새 테이블을 만듭니다.

답변

1

나는 수동으로 테이블을자를 것이며 단순히 판다는 일을 할 수 있도록 :

con.execute('TRUNCATE my_table RESTART IDENTITY;') 
df.to_sql('my_table', con, if_exists='append') 
+0

는 빠른 응답 주셔서 감사합니다! 'RESTART IDENTITY'비트가 무엇을하는지 말해 줄 수 있습니까? 지금 당장 PostgreSQL 문서를 참조했지만 그 의미를 이해할 수 없었습니다. "자른 테이블의 열이 소유 한 시퀀스를 자동으로 다시 시작". –

+0

@TrainHeartnet, [PostgreSQL sequnces] (https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwiLyJC_rc7RAhVGhiwKHbUHDFYQFggaMAA&url=http%3A % 2F % 2Fwww.neilconway.org % 2Fdocs % 2Fsequences % 2F & usg = AFQjCNEcB_UHiN_9ojNJPKJiplHnEDKnhQ & sig2 = ACv_GtfVhJmnHofkooljSw). 'my_table' 테이블에 시퀀스가 ​​없다면'RESTART IDENTITY'를 생략 할 수 있습니다 – MaxU

관련 문제