2017-11-15 7 views
1

데이터 프레임의 일부 데이터를 sqlite 데이터베이스에 저장하려고합니다.to_sql을 사용하여 pandas 데이터 프레임 열을 유지하는 방법

conn = sqlite3.connect("mydatabase.db") 

다음 데이터베이스에 dataframe df에서 테이블을 추가 :

cur = conn.cursor() 
cur.execute("SELECT * FROM table_name") 
rows = cur.fetchall() 
df2=pd.DataFrame(rows) 
:
df.to_sql(table_name, conn,if_exists='append') 

다음 데이터베이스에서 테이블을 쿼리

먼저 데이터베이스를 만들 : 나는 다음을 수행하고

df2에는 원래 일반 이름 bu가 없습니다. t가 0, 1,2,3 등으로 다시 인덱스되었습니다.

원본 데이터 프레임의 열을 어떻게 보존 할 수 있습니까?

+0

당신이'인쇄의 출력을 게시 할 수 있습니다 (df.columns.tolist())'__before__ 당신 SQLite는에 쓸 것이 무엇입니까? – MaxU

+0

그것은 문자열 목록이지만 일부는 공백을 포함합니다. 문제를 일으킬 수 있습니까? – user7188934

답변

2

이 시도 감사 :

df2 = pd.read_sql("SELECT * FROM table_name", conn) 

일부 색상 :

테이블이 괜찮습니다, 그것은 열이, 당신이 cur.fetchall을 사용하여 값의 튜플의리스트를 가져 오기 () 열 이름에 대한 정보가 없으므로 팬더는 숫자 만 사용합니다.

열 이름에 대한

read_sql() 확인하고

+0

덕분에 완벽하게 작동합니다. – user7188934