Python读取多个.txt文件并使用pandas进行行绑定

时间:2014-12-05 16:15:32

标签: python

我来自R(和SAS)并且在一大堆.txt文件(全部存储在同一目录中)中读取问题,并在pandas中创建一个大型数据帧。到目前为止,我已尝试合并代码 - 所有这些都失败了。我认为这是一项简单的任务,但缺乏python中的经验...

如果这对数据有帮助,我想创建一个大型数据框:http://www.ssa.gov/oact/babynames/limits.html - 状态特定集(总共50个,以其州名abbreviation.txt命名)

请帮忙!

import pandas as pd

import glob

filelist = glob.glob("C:\Users\Dell\Downloads\Names\*.txt")

names = ['state', 'gender', 'year', 'name', 'count']

然后,我正在考虑使用pd.concat,但我不确定 - 基本上我想在每个数据集中读取然后row.bind这些集合(假设它们都有相同的列)...

1 个答案:

答案 0 :(得分:2)

concat很好,因为"加入"被设置为"外部" (即索引联合)默认情况下。您可以轻松使用df.join(),但必须指定"如何"作为"外部"。无论哪种方式,您都可以非常简单地构建数据框:

import pandas as pd
from glob import glob as gg

data = pd.DataFrame()
names = ['state', 'gender', 'year', 'name', 'count']

for f in gg('*.txt'):
    tmp = pd.read_csv(f,columns=names)

    data = pd.concat([data,tmp],axis=0,ignore_index=True)