如何轉換: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]