2016-08-31 1 views
0

제 용어가 맞지 않으면 용서해주십시오. 나는 이것을 가지고있다 :Python이 SQLite 테이블의 선택된 필드만을 파일로 인쇄 할 수 있습니까

CREATE TABLE table1 (field1 TEXT, field2 TEXT, field3 TEXT); 

필드 1과 필드 3의 정보 만 각 행에 텍스트 파일로 인쇄하려고한다. 내가 시도한 것은 :

e = open("export.txt", "w+") 

sqlF1 = """ 
SELECT field1 FROM table1 
""" 
c.execute(sqlF1) 
for row in e: 
    #print c.fetchall 
    e.write('%s\n' % row) 

e.close() 

작업은 오류없이 완료되었지만 텍스트 파일은 여전히 ​​비어 있습니다. 내가 한 일

SELECT field1 FROM table1 

sqlite 셸 및 데이터가 있습니다.

결과적으로 최종적으로 파일의 한 줄에 여러 줄의 필드가 파이프되기를 원합니다. 또한이 방법을 선택하는 각 필드 값의 시작과 끝 부분에 텍스트를 넣고 싶습니다.

조언이나 지침이 도움이됩니다. 이 작업은 파이썬으로 할 필요가 없습니다. 내 말은 SQLite 명령과 함께 사용하는 방법도 알아낼 수 있다면 좋을 것입니다.

감사합니다.

편집 : 나는이에 변화가 올바른 개체를 반복하지 않는 이럴 내가 https://stackoverflow.com/questions/10522830/how-to-export-sqlite-to-csv-in-python-without-being-formatted-as-a-listf

답변

1

? : 네, 무엇을 찾고 있어요 것 같아요.

for row in c.execute(sqlF1): 
    e.write('%s\n' % row) 

the docs의 예를 참조하십시오.

+0

그게 효과가 있습니다. 그러나 더 많은 열/필드를 추가 할 때 : SELECT field1, field3, FROM table1 "TypeError : 문자열 형식을 변환하는 동안 모든 인수가 변환되지 않았습니다."라는 오류 메시지가 나타나고 파일로 연결되지 않습니다. –

+0

두 개의 열을 쓸 때 f.write ("% s % s \ n"% row). "row"변수는 파이썬 튜플입니다. –

+0

그것은 훌륭합니다, 고마워요! 필드 중 하나는 정수입니다. 필드 1 텍스트, 필드 2 정수, 필드 3 텍스트의 예. % s % d % s, % s \ n을 썼습니다. 그러나 숫자가 필요합니다 (필드에 숫자가 있음) 오류 % d 형식이 있습니다. –

관련 문제