用python连接文件

用python连接文件,python,pandas,concat,Python,Pandas,Concat,我正在通过“Python for data Analysis”学习数据科学 我想把文本文件连接成一个大数据框。 以下是作者提供的代码,但它在我的Mac OS X Yosemite上不起作用。。 有人能帮忙吗 import pandas as pd names1880 = pd.read_csv('ch02/names/yob1880.txt', names=['name', 'sex', 'births']) names1880.groupby('sex').births.sum() year

我正在通过“Python for data Analysis”学习数据科学

我想把文本文件连接成一个大数据框。 以下是作者提供的代码,但它在我的Mac OS X Yosemite上不起作用。。 有人能帮忙吗

import pandas as pd

names1880 = pd.read_csv('ch02/names/yob1880.txt', names=['name', 'sex', 'births'])
names1880.groupby('sex').births.sum()
years = range(1880,2010)

pieces = []
columns = ['name','sex','births']

for year in years:
    path = 'ch02/names/yob%d.txt' % year
    frame = pd.read_csv(path,names=columns)
names = pd.concat(pieces,ignore_index=True)
输出:

---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-48-76cd5bf6ba3e> in <module>()
     14     frame = pd.read_csv(path,names=columns)
     15 
---> 16 names = pd.concat(pieces,ignore_index=True)
     17 
     18 

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/tools/merge.pyc in concat(objs, axis, join, join_axes, ignore_index, keys, levels, names, verify_integrity)
    927                        ignore_index=ignore_index, join=join,
    928                        keys=keys, levels=levels, names=names,
--> 929                        verify_integrity=verify_integrity)
    930     return op.get_result()
    931 

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/tools/merge.pyc in __init__(self, objs, axis, join, join_axes, keys, levels, names, ignore_index, verify_integrity)
    972 
    973         if len(objs) == 0:
--> 974             raise Exception('All objects passed were None')
    975 
    976         # consolidate data

Exception: All objects passed were None
---------------------------------------------------------------------------
异常回溯(最后一次最近调用)
在()
14帧=pd.read\u csv(路径、名称=列)
15
--->16名称=pd.concat(片段,忽略索引=真)
17
18
/concat中的Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/tools/merge.pyc(objs、axis、join、join_axes、ignore_索引、键、级别、名称、验证_完整性)
927忽略索引=忽略索引,连接=连接,
928键=键,级别=级别,名称=名称,
-->929验证\u完整性=验证\u完整性)
930返回操作获取结果()
931
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/tools/merge.pyc in_u_init___;(self、objs、axis、join、join_u轴、键、级别、名称、忽略索引、验证完整性)
972
973如果len(objs)==0:
-->974 raise异常('传递的所有对象均为None')
975
976#合并数据
异常:传递的所有对象均为无

此代码似乎缺少
片段。请在for-loop的末尾追加(帧)
。啊,我明白了。这是一个容易犯的错误。。谢谢