Python:使用多个文本文件时如何仅使用1列?

时间:2016-05-25 17:32:31

标签: python python-3.x text-files

我正在使用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])
我的代码

2 个答案:

答案 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,我能够轻松快速地分析所有文本文件。

Jupyter Notebook

我使用的代码:

import pandas as pd
dft = pd.read_csv('sample.txt')
dft['Column'].value_counts()