我正在使用Python3 Notebook。我正在使用多个具有多列的文本文件。如何仅使用所有3个文本文件的第一列?
文本文件示例:
Corey 1 765
Mike 2 675
John 3 645
Tom 4 234
Ben 5 134
Corey 6 646
Mike 7 543
John 8 324
我运行的代码告诉我每个名字出现的次数。但它也计算数字。如何才能只计算第1列中的名称?
import re
import csv
filelist = ['D.txt','A.txt','S.txt']
wordbank = {}
for file in filelist:
article_one = re.findall('\w+', open(file,).read().lower())
for word in article_one:
word = word.lower().strip(string.punctuation)
if word not in wordbank:
wordbank[word] = 1
else:
wordbank[word] += 1
sortedwords = sorted(wordbank.items(), key=operator.itemgetter(1))
for word in sortedwords:
print (word[1], word[0])
答案 0 :(得分:1)
import pandas as pd
data = pd.Series()
for file in filelist:
data2 = pd.read_csv(file, sep=" ", header = None, usecols =[0])
data = pd.concat((data,data2[0].str.lower(), axis=0)
yourData = dict(pd.Series(data).value_counts())
答案 1 :(得分:0)
使用iPython Panda,我能够轻松快速地分析所有文本文件。
我使用的代码:
import pandas as pd
dft = pd.read_csv('sample.txt')
dft['Column'].value_counts()