Как выполнить добавление в текстовый файл, минуя строки - PullRequest
0 голосов
/ 05 февраля 2019

Я преобразовал свой CSV-файл в текстовый файл, и я хочу добавить числа в текстовом файле.Когда я запускаю свой код, появляется ошибка.Предполагая код ошибки, я хочу написать логику, которая будет обходить мои строки и просто добавлять числовые значения.

`import csv 
csv_file = 'Annual Budget.csv'
txt_file = 'annual_budget.txt'
with open(txt_file, 'w') as my_output_file:
with open(csv_file, 'r') as my_input_file:
    reader = csv.reader(my_input_file)
    for row in reader:
        my_output_file.write(" ".join(row)+'\n')

        data = []
with open(r'annual_budget.txt') as f:
for line in f:
    fields = line.split()
    rowdata = map(float, fields)
    data.extend(rowdata)
print(sum(data)/len(data)

Вывод (ошибка): data.extend(rowdata) ValueError: could not convert string to float Value: 'ANNUAL'

Вот содержимое моеготекстовый файл:

ANNUAL BUDGET Q2 Q4

100 450 20

600 765 50

500 380 79

800 480 455

1100 65 4320

1 Ответ

0 голосов
/ 05 февраля 2019

Изменен ваш код, как указано ниже:

  with open(r'annual_budget.txt', 'r') as f:
     reader = csv.reader(f)
     headers = reader.next() # this will yield first row i.e columns if python 3: Use next(reader) instead of reader.next()
     for line in reader:
         rowdata = map(float, line)
         data.extend(rowdata)
     print(sum(data)/len(data))
...