Прочитать в csv-файле на python, округлить значения и записать обратно в файл

#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 модуль здесь, вы не округляете и не записываете результат повторно.