Используя пакет Python sqlite3, я выбираю несколько строк из базы данных sqlite (с тройным внутренним объединением), чтобы поместить их в кадр данных pandas на более позднем этапе.
Я попытался запустить следующий код для выбора из базы данных:
import pandas as pd
import sqlite3
# connect to the database
conn = sqlite3.connect("C:\Quant\Data_Storage2\sqlite\db\scorecard.db")
conn.text_factory = str
c = conn.cursor()
# create pandas df with data from the sqlite db
sql = '''SELECT MACRO_SA.SERIES_ID, MACRO_SA.COUNTRY_ID, MACRO_SA.DATA,
MACRO_SA.REL_DATE, HF_DATA.DATA
FROM MACRO_SA
INNER JOIN MAP_SERIES ON MAP_SERIES.CUR = MACRO_SA.COUNTRY_ID
INNER JOIN HF_DATA ON MAP_SERIES.CUR = MACRO_SA.COUNTRY_ID
WHERE (MAP_SERIES.CRNCY NOT NULL)
AND (HF_DATA.SERIES_ID = 'bg_cur')
'''
df_to_adj = c.execute(sql).fetchall()
conn.commit()
df_to_adj = pd.DataFrame(df_to_adj, columns=['SERIES_ID', 'COUNTRY_ID', 'DATA', 'REL_DATE', 'FX_RATE'])
Я получаю следующую ошибку: «sqlite3.OperationalError: Не удалось декодировать в UTF-8».
Любая помощь очень ценится.