为了账号安全,请及时绑定邮箱和手机立即绑定

在 Python 中合并非常大的 csv 文件

在 Python 中合并非常大的 csv 文件

慕容森 2021-06-21 09:15:26
在下面的代码中,我正在合并从变量中包含的某个日期开始的所有 csv 文件:file_date。该代码适用于小型和中等大小的 csv 文件,但在处理非常大的 csv 文件时会崩溃。path = '/Users/Documents/'+file_date+'*'+'-details.csv'+'*'    allFiles = glob.glob(path)    frame = pd.DataFrame()    list_ = []    for file_ in allFiles:        frame = pd.read_csv(file_,index_col=None, header=0)        print frame.shape         list_.append(frame)        df = pd.concat(list_)        print df.shape    df.to_csv('/Users/Documents/'+file_date+'-details.csv',sep=',', index = False)我可以分块处理每个文件吗?如果是,我该怎么做?
查看完整描述

2 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

如果你不处理文件,你甚至不需要熊猫。只需逐行读取文件并将其写入新文件:


with open('outfile.csv', 'w') as outfile:

    for i, filename in enumerate(all_files):

        with open(filename, 'r') as infile:

            for rownum, line in enumerate(infile):

                if (i != 0) and (rownum == 0):    # Only write header once

                    continue

                outfile.write(line + '\n')


查看完整回答
反对 回复 2021-06-29
  • 2 回答
  • 0 关注
  • 262 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信