Я очень плохо знаком с python и, прочитав несколько статей в Интернете, я не уверен, что делать дальше.У меня есть файл CSV 3,56 гига, который я пытаюсь разделить на несколько фреймов данных, используя пакеты pandas и sqlalchemy в python.
Я использовал следующий код для преобразования файла CSV в базу данных, и теперь я пытаюсь выполнить запрос к базе данных и сохранить результаты во фрейме данных, называемом test.Однако всякий раз, когда я выполняю код снизу, я получаю следующую ошибку: OperationalError: (sqlite3.OperationalError) near "table": syntax error [SQL: 'SELECT COL1, COL6, COL7 FROM table where COL1 = 2001'] (Background on this error at: http://sqlalche.me/e/e3q8)
Я также пытался выбрать все столбцы в базе данных, используя "SELECT* FROM table where COL1 = 2000"
в запросе SQL.Тем не менее, он возвращает ту же ошибку.
import pandas as pd
from sqlalchemy import create_engine
file = "/Users/benalbert/Desktop/Econ522/usa_00001.csv"
csv_database = create_engine("sqlite:///csv_database.db")
chunksize = 1000
i = 0
j = 1
for df in pd.read_csv(file, chunksize=chunksize, iterator=True):
df = df.rename(columns={c: c.replace(' ', '') for c in df.columns})
df.index += j
i+=1
df.to_sql('table', csv_database, if_exists='append')
j = df.index[-1] + 1
test = pd.read_sql_query('SELECT COL1, COL6, COL7 FROM table where COL1 =
2001', csv_database)
Желаемый вывод - новый фрейм данных, содержащий наблюдения только из столбцов 1, 6 и 7, когда столбец 1 имеет значение 2001.