johanna119 2022-01-10 01:02 采纳率: 0%
浏览 148

pd_to_sql时出现ValueError: goods (VARCHAR(10)) not a string

问题遇到的现象和发生背景 python sqlite3

创建表单时:name = Column(String(10), nullable=False),但echo 显示 name VARCHAR(10);向数据库导入数据时(pd_to_sql)如果指定dtype,
goods:sqlalchemy.types.String(length=10),出现ValueError: goods (VARCHAR(10)) not a string;不指定dtype数据可以导入,但 price = Column(Numeric(10,2)) 有问题,0.2导入后变成0.1999999999

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 於黾 2022-01-10 08:44
    关注

    0.2导入后变成0.1999999999
    首先你数据库里要指定小数位2位,不要无限
    其次你程序里要指定小数位2位,不要无限
    对精度要求高尽量使用decimal类型,不要用float或者double,用二进制存储10进制数在涉及小数时就是会有除不尽,丢失精度的问题

    评论

报告相同问题?

问题事件

  • 创建了问题 1月10日

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序