感谢迄今为止的帮助!我已经在代码中完成了这一点。
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 个小时(包括我删除的之前的代码块),但我似乎被卡住了。
最佳答案
一个选项:迭代每个文件中的每个数字并递增存储在字典中的计数器。打印出按字典键(即 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
关于python - 多个 CSV Python 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12933323/