Я пытаюсь выполнить массовую загрузку данных в базу данных MySQL с помощью библиотеки pymysql. Некоторые из столбцов в моем фрейме данных содержат пустые значения для всех записей. Это пустое значение приводит к следующей ошибке:
pymysql.err.InternalError: (1054, "Unknown column 'nan' in 'field list'")
Чтобы справиться с этой ошибкой, я пробовал разные варианты, как показано ниже, что привело меня к следующим ошибкам для разных столбцов:
PATH/lib/python3.6/site-packages/pymysql/cursors.py:170: Warning: (1366, "Incorrect integer value: '' for column 'X' at row 1")
PATH/lib/python3.6/site-packages/pymysql/cursors.py:170: Warning: (1265, "Data truncated for column 'Y' at row 1")
Вот фрагмент кода:
import pymysql
conn = get_connection(credentials)
final_df = final_df.astype(object).where(pd.notnull(final_df), None)
fdf = list(final_df.itertuples(index=False, name=None))
cursor = conn.cursor()
sql = "call procedure (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
cursor.executemany(sql, fdf)
conn.commit()
cursor.close()
conn.close()
Может кто-нибудь помочь мне разобраться с этой проблемой?
Примечание:
- Я проверил файл данных и столбцы, которые получают эти ошибки, абсолютно пустыми.
- Я также проверяю схему MySql, и она допускает нулевые значения.