我正在使用 Python 3.7。我正在尝试将欧洲小数点,即逗号转换为小数点(即点)。
原始文件是 .csv 文件。
我的代码是:
#!/usr/bin/env python
import sys
for line in sys.stdin:
# remove leading and trailing whitespace
line = line.strip()
# split data values into list
data = line.split("\t")
data = "{,:.}".format(data)
print(data)
data = "{,:.}".format(data) 导致问题。
我得到的输出是:
Traceback (most recent call last):
File "conPrep.py", line 10, in <module>
data = "{,:.}".format(data)
KeyError: ','
任何帮助将不胜感激。
#!/usr/bin/env python
import csv
from io import StringIO
import locale
import sys
from locale import atof
data = sys.stdin.readlines()
reader = csv.reader(data, delimiter='\t')
loc = locale.getlocale()
locale.setlocale(locale.LC_ALL, 'german')
for row in reader:
print([atof(x) for x in row])
locale.setlocale(locale.LC_ALL, loc)
输出:
Traceback (most recent call last):
File "conPrep.py", line 14, in <module>
print([atof(x) for x in row])
File "conPrep.py", line 14, in <listcomp>
print([atof(x) for x in row])
File "C:\Python37\lib\locale.py", line 326, in atof
return func(delocalize(string))
ValueError: could not convert string to float: 'Data.Temperatura Media (C).Temperatura Minima (C).Temperatura Maxima (C).Precipitacao (mm).Final de Semana.Consumo de cerveja (litros)'
