1

これまでの助けに感謝します!私はコードのこの時点に到達しました。

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()

配列全体の印刷に問題があります。私が言ったように、モデルにはそれぞれ30の値を持つ29のファイルがあります:
1,2
2,9
3,20
4,6
5,2
特定の順序などはなく、数字は繰り返されます。数字と実際に繰り返した数字を印刷する必要があります。all.csvファイルを作成しているようですが、空のようです。私はPythonに本当に慣れていないので、怒らないでください。今(削除した前のコードブロックを含めて)約8時間検索しましたが、スタックしているようです。

4

1 に答える 1

1

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
于 2012-10-17T11:49:25.760 に答える