我将 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
修改您的代码如下:
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))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)