如何转换:Unicode逗号csv浮动吗?
somelist = [u'10,1', u'2,47', u'1,6']
到:
somelist = [10.1, 2.47, 1.6]
我已经试过replace(",", ".")
没有结果。
如何转换:Unicode逗号csv浮动吗?
somelist = [u'10,1', u'2,47', u'1,6']
到:
somelist = [10.1, 2.47, 1.6]
我已经试过replace(",", ".")
没有结果。
你确实需要更换逗号:
somelist = [float(v.replace(',', '.')) for v in somelist]
演示:
>>> somelist = [u'10,1', u'2,47', u'1,6']
>>> [float(v.replace(',', '.')) for v in somelist]
[10.1, 2.47, 1.6]
你需要投更换逗号后的字符串。事情是这样的:
somelist=[float(x.replace(',','.')) for x in somelist]
由于使用逗号作为小数点字符是在世界许多地区的惯例,你可以使用这个事实与locale
模块一起做转换:
somelist = [u'10,1', u'2,47', u'1,6']
locale.setlocale(locale.LC_NUMERIC, 'french')
somelist = [locale.atof(str(val)) for val in somelist]
print somelist # -> [10.1, 2.47, 1.6]