Python 使用pandas时发生sqlite3.0错误,无任何解释
我正在尝试运行以下代码以从sqlite获取CSV:Python 使用pandas时发生sqlite3.0错误,无任何解释,python,pandas,sqlite,Python,Pandas,Sqlite,我正在尝试运行以下代码以从sqlite获取CSV: import sqlite3 import pandas as pd con = sqlite3.connect("Cerner.db") with open('query.sql', 'r') as file: query = file.read() df = pd.read_sql_query(query, con) df.to_pickle('raw_data.df') df.to_csv('raw
import sqlite3
import pandas as pd
con = sqlite3.connect("Cerner.db")
with open('query.sql', 'r') as file:
query = file.read()
df = pd.read_sql_query(query, con)
df.to_pickle('raw_data.df')
df.to_csv('raw_data.csv', index = False
查询如下:
WITH diagnoses AS
(
SELECT
F.ENCOUNTER_ID,
D.DIAGNOSIS_TYPE,
D.DIAGNOSIS_CODE
FROM
HF_F_DIAGNOSIS AS F
LEFT JOIN
HF_D_DIAGNOSIS AS D ON F.DIAGNOSIS_ID = D.DIAGNOSIS_ID
)
SELECT
enc.ENCOUNTER_ID,
enc.PATIENT_ID,
enc.AGE_IN_YEARS,
pat.RACE,
pat.GENDER,
p_type.PATIENT_TYPE_DESC,
enc.ADMITTED_DT_TM,
diagnoses.DIAGNOSIS_TYPE,
diagnoses.DIAGNOSIS_CODE
FROM
HF_F_ENCOUNTER AS enc
LEFT JOIN
HF_D_PATIENT_TYPE AS p_type ON enc.PATIENT_TYPE_ID = p_type.PATIENT_TYPE_ID
LEFT JOIN
diagnoses ON enc.ENCOUNTER_ID = diagnoses.ENCOUNTER_ID
LEFT JOIN
HF_D_PATIENT AS pat on enc.PATIENT_ID = pat.PATIENT_ID
WHERE
enc.ENCOUNTER_ID = diagnoses.ENCOUNTER_ID;
运行cur.fetchall()
时,如果没有详细信息,则会引发sqlite3.OperationalError
如果我仅像这样限制查询,它就可以正常工作:
WITH diagnoses AS
(
SELECT
...
FROM
...
LIMIT 1000
)
SELECT
...
FROM
...
LIMIT 1000;
有人能帮我弄明白怎么修吗
谢谢大家!