to_sql到mysql插入错误

时间:2018-02-19 03:39:43

标签: mysql pandas sqlalchemy

我正在使用mysql服务器。

使用to_sql函数将数据插入mysql服务器时出错。

我的表格(数据框)

        a       b               c           d           e   f   
   0    465894  2017000002(01)  65.9807     93.3036     34  4   
   1    465894  2017000002(02)  075.5061A   104.3414    59  7       
   2    465894  2017000002(03)  075.8986B   106.0494    29  3       
   3    465894  2017000002(04)  084.9732    114.8906    34  4

   >> table.dtypes
      a     int64
      b     object
      c     object
      d     float64
      e     int64
      f     int64
      dtype: object


   >> table.to_sql(
                  'table_name',
                   engine,
                   if_exists='append',
                   index=False
                   )

成功插入了列(a,b,d,e,f)。

  

但仅限于" c:"列错误

     

错误消息:numpy.float64'对象没有属性'翻译

     

我需要将列数据转换为数字并删除该字符。

     

但我想将其作为字符类型

插入

你怎么解决这个问题?

三江源〜

1 个答案:

答案 0 :(得分:1)

看起来c是一个混合dtypes列。我不认为mysql提供支持,所以你可以将整个事物转换为字符串,它应该工作:

df['c'] = df['c'].astype(str)