如何将逗号分隔数字的大列表转换为float

0 python csv

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

['0', '0,1', '0,2', '0,3', '0,4', '0,5', '0,6', '0,7', '0,8000001', '0,9000001', '1', '1,1', '1,2']
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试用这个数据进行绘图时,matplotlib给出了一个错误,因为它不是浮点数.我无法将此数据转换为浮点数,因为数字用逗号分隔,而不是点.那么,我如何用点替换所有这些逗号,或者还有其他更简单的解决方案呢?我是Python的新手.

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

小智 5

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]
Run Code Online (Sandbox Code Playgroud)