我之前问过这个问题并收到了我的答案。现在我需要总结列以打印总数的一行。
*我是 python 新手,我有一个 csv 文件,我需要根据第三个“_”之后的字符选择某些行。
这是 csv 文件中的示例:
header row
date,ttp_ws_sm_001_01, , , , , , , , , , , ,117
date,ttp_ws_sm_001_blank, , , , , , , , , , , ,31
date,ttp_ws_sm_045_01, , , , , , , , , , , ,145
date,ttp_ws_sm_057_blank, , , , , , , , , , , ,98
date,ttpv1_001_, , , , , , , , , , , ,67
date,ttpv1_001_01, , , , , , , , , , , ,67*
这是解决我正在构建的第一个项目的代码:
with open(...) as f:
rows = csv.reader(f)
for row in rows:
t = row[1].split('_')
if len(t) >= 4 and t[3] == '001':
print (row[1], row[13])
结果:
('ttp_ws_sm_001_01', '117')
('ttp_ws_sm_001_blank', '31')
我需要做的是添加 117 和 31,这样我就可以只打印总数了。这是我到目前为止所尝试的并获得了一个巨大的列表。
import csv
import sys
total = 0
source = '\\\\file path'
with open(source + '\filename') as f:
rows = csv.reader(f)
for row in rows:
t = row[1].split('_')
if len(t) >= 4 and t[3] == '001':
for number in range(13):
total += int(row[13])
print ('Club 001' + '\t' + str(total))