尝试将第四列写入一组数据,如下所示
8000.5 16745 0.1257
8001.0 16745 0.1242
8001.5 16745 0.1565
8002.0 16745 0.1595
其中有第二个数字(即 16745)在该特定文件中被计算的次数(它确实发生了变化,列表有几千个条目)。即如果这是整个文件
8000.5 16745 0.1257 4
8001.0 16745 0.1242 4
8001.5 16745 0.1565 4
8002.0 16745 0.1595 4
我的代码的问题似乎在编写阶段,字典可以工作,如果我打印它,csv.reader 正在读取文件,但是当涉及到附加它拾取的唯一字典键时(字段 [1])似乎为 16745 为 -1 的位置,并且该计数打印在所有行的第四列中。我不明白为什么它只针对这个值而不是每行与字典交叉引用。
即我得到
8000.5 16745 0.1257 [count of -1 in column 2]
8001.0 16745 0.1242 [count of -1 in column 2]
8001.5 16745 0.1565 [count of -1 in column 2]
8002.0 16745 0.1595 [count of -1 in column 2]
任何帮助将不胜感激!
import numpy
import string
import csv
import sys
import os
time = []
water = []
itemcount ={}
global filename
filename = sys.argv[1]
f1 = open(sys.argv[1], 'rt')
for line in f1:
fields = line.split()
time.append(fields[0])
water.append(fields[1])
f1.close()
for x in water:
a = water.count(x)
itemcount[x] = a
writerfp = open('watout.csv', 'w')
writer = csv.writer(writerfp)
for row in csv.reader(open(filename, 'r')):
fields = line.split()
row.append(itemcount[fields[1]])
writer.writerow(row)
writerfp.close()