每個CSV列串計數我有一個CSV文件是這樣的:獲取使用Python
Header1,Header2,Header3,Header4
AA,12,ABCS,A1
BDDV,34,ABCS,BB2
ABCS,5666,gf,KK0
其中一列只能有字母/詞,或只是數字或兩者兼而有之。我有這樣的多個文件,每列中的列不一定相同。我想獲得列中只有字母和數字的每個元素的計數。
我期望的輸出是
Header1- [('AA', 1),('BDDV',1),('ABCS',1)] Header3- [('ABCS', 2),('gf', 1)]
這裏,雖然雙方的列有「ABCS」,我想分別統計他們的每一列。
我可以通過硬編碼的列數像下面獲取計數:
import csv
import collections
count_number = collections.Counter()
with open('filename.csv') as input_file:
r = csv.reader(input_file, delimiter=',')
headers = next(r)
for row in r:
count_number[row[1]] += 1
print count_number.most_common()
,但我對如何相對於列做困惑。
只需創建一個計數器列表,其中一列用於您希望計算的每列。 – fnl