You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python加载CSV遇ValueError:无法转换带的字符串为float64

解决CSV加载时的BOM编码问题

你遇到的是UTF-8编码的字节顺序标记(BOM)——Excel保存CSV时会自动添加这个标记,但numpy的loadtxt默认不识别它,把它当成了数值的一部分,导致无法转成浮点数。

给你三个可行的解决办法:

  • 直接在loadtxt里指定编码:
    修改加载代码,加上encoding='utf-8-sig'参数,这个编码会自动忽略BOM:

    data = numpy.loadtxt(experiment["csv"], delimiter=",", encoding='utf-8-sig')
    
  • 手动读取文件后再加载:
    如果CADET对loadtxt的封装没法直接加参数,先手动用正确编码打开文件,再传给numpy:

    import numpy as np
    
    with open(experiment["csv"], 'r', encoding='utf-8-sig') as f:
        data = np.loadtxt(f, delimiter=",")
    
  • 重新保存CSV文件(无BOM):
    用Notepad++这类编辑器打开CSV,点击顶部菜单栏的「编码」→「转为UTF-8无BOM编码格式」,保存后再用代码加载就不会有问题了。

内容的提问来源于stack exchange,提问作者HCurtis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 01:57:01