【问题标题】:How to convert a big list of comma-separated numbers into float如何将逗号分隔数字的大列表转换为浮点数
【发布时间】:2012-09-07 08:17:20
【问题描述】:

我需要制作一个脚本,该脚本从 .csv 文件的 2 列中获取 2 列数据,然后根据这些数据绘制图表。我设法从这样的列表中导出数据(实际上有 140 个数字,但你明白了):

['0', '0,1', '0,2', '0,3', '0,4', '0,5', '0,6', '0,7', '0,8000001', '0,9000001', '1', '1,1', '1,2']

问题是,当我尝试使用这些数据进行绘图时,matplotlib 会出错,因为它不是浮点数。而且我无法将此数据转换为浮点数,因为数字用逗号而不是点分隔。那么,我怎样才能用点替换所有这些逗号,或者也许还有其他更简单的解决方案呢?我对 Python 完全陌生。

更新:我的错误,我导出数据的格式不是列表,而是 DICT。我可以成功地将其转换为长字符串,但找不到将其转换为浮点数组的方法。感谢您的所有帮助。

【问题讨论】:

  • 字符串替换操作的基本用法,或者?

标签: python csv


【解决方案1】:
n = ['0', '0,1', '0,2', '0,3', '0,4', '0,5', '0,6', '0,7',
     '0,8000001', '0,9000001', '1', '1,1', '1,2']
[float(m.replace(",", ".")) for m in n]
# => [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7,
#     0.8000001, 0.9000001, 1.0, 1.1, 1.2]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多