#python
#python
Вопрос:
У меня есть CSV-файл с такими строками:
x;y
232,6209718;109,5003569
..
Я хотел бы прочитать их в replace the , на a . и округлите значения.
Я знаю, как читать в csv и округлять (x), но не знаю, как комбинировать и перебирать 2 значения и округлять их.
Спасибо..
Комментарии:
1. Покажите нам, что вы пробовали, а затем мы поговорим о том, как это исправить
2. Если вы знаете, как сделать большую часть этого, тогда опубликуйте код для этого, и мы сможем помочь с остальным. Разбейте проблему на составные части, задавайте вопросы только о тех частях, с которыми вы не можете приступить к работе.
Ответ №1:
Я сделал это без вашей помощи:
import csv
with open('input.csv', 'rU') as inf:
x = []
y = []
for line in csv.reader(inf):
tx , ty = line
x.append(float(tx))
y.append(float(ty))
xround = [ '%.2f' % elem for elem in x ]
yround = [ '%.2f' % elem for elem in x ]
print xround
print yround
rows = zip(xround,yround)
with open('rounded.csv', 'wb') as f:
writer = csv.writer(f)
for row in rows:
writer.writerow(row)
Ответ №2:
предполагая, что вы считываете строки в переменную содержимого ..
for line in content:
line = line.split(";")
for item in line:
item.replace(",", ".")
write to file here ...
Комментарии:
1. Во-первых, при этом значения не округляются. Во-вторых, рекомендуется использовать модуль по умолчанию
csv
. И последнее, но не менее важное: комментарии python начинаются с#
.2. Им нужно округлить значения в соответствии с post
3. Вам действительно следует использовать
csv
модуль здесь, вы не округляете и не записываете результат повторно.