con = sqlite3.connect("C\path\data.db")
df = pd.read_sql_query("SELECT * FROM table1", con))
파이썬에서 db파일을 읽으려던 도중 malformed database error 가 일어났다.
| 원인
서버에서 실시간으로 갱신 중인 db를 도중에 다운받았기 때문이다.
갱신 중이기 때문에 db파일은 open 상태이고, 미완성인 row 가 db 파일 내부에 있는 상태다.
이러한 상태의 db 파일은 read_sql_query 메소드로 읽을 수 없었다.
| 해결
DB browser 같은 sql read 전용 프로그램으로 읽어본 결과 테이블 자체는 온전한 것을 확인할 수 있었다. (갱신 중인 부분이 문제가 됨.)
DB broswer 의 DB 압축 기능을 활용해 갱신 중인 부분을 삭제할 수 있었고, malformed database error는 더이상 일어나지 않았다.