Здравствуйте. Я пытаюсь вставить один фрейм данных в таблицу mysql:
Содержит несколько следующих дат:
DateI datetime64[ns]
DateF datetime64[ns]
столбец выглядит следующим образом:
print(big['DateI'])
1 2019-10-08
1 2019-10-01
Name: DateI, Length: 241, dtype: datetime64[ns]
при печати в виде списка выглядит следующим образом:
print(big['DateI'].to_list())
[Timestamp('2019-08-12 00:00:00'), Timestamp('2019-09-20 00:00:00'),...]
И тип каждого элемента в столбце данных:
for element in big['DateI']:
print(type(element))
<class 'pandas._libs.tslibs.timestamps.Timestamp'>
однако при попытке вставить его следующим образом, используя pymysql:
для i, строка в big.iterrows ():
sql = "INSERT INTO `mytable4` (`" +cols + "`) VALUES (" + "%s,"*(len(row)-1) + "%s)"
cursor.execute(sql, tuple(row))
connection.commit()
Я получил:
~/.local/lib/python3.6/site-packages/pymysql/converters.py in
_escape_unicode(value, mapping)
71 Value should be unicode
72 """
---> 73 return value.translate(_escape_table)
74
75 if PY2:
AttributeError: 'Timestamp' object has no attribute 'translate'
Я пытался:
big['DateI']=[x.to_pydatetime() for x in big['DateI'].to_list()]
big['DateI']= [x.to_pydatetime() for x in big['DateF'].to_list()]
Однако я получил ту же ошибку,