感谢您的帮助!我在代码中达到了这一点。
import glob
import csv
import sys
import array
x=1
signs=array.array('i',(0,)*31)
files = glob.glob('./*.csv')
file = open("all.csv", 'w')
for row in files:
if x<30:
signs[x]= x
x=x+1
print (signs[x])
file.close()
我在打印整个阵列时遇到问题。正如我所说,模型中有29个文件,每个文件有30个值:
1,2
2,9
3,20
4,6
5,2
没有特定的顺序或任何东西,数字会重复。我需要打印出数字,其中有多少实际上已经重复了。我似乎创建文件all.csv但它似乎是空的。我是python的新手,请不要愤怒。我现在搜索了大约8个小时(包括我删除的前一个代码块),但我似乎卡住了。
答案 0 :(得分:1)
一个选项:迭代每个文件中的每个数字并递增存储在字典中的计数器。打印出按字典键排序的结果(这是csv文件中遇到的数字)。
import csv, glob, sys
from collections import defaultdict
files = [open(f) for f in glob.glob('user./[1-29].csv')]
#files = [open('input1','r')]
counts = defaultdict(int)
for f in files:
r = csv.reader(f)
for line in r:
for num in line:
counts[int(num)] += 1
for key,val in sorted(counts.items()):
print key, val