首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高效地将多个csv文件读取到Pandas数据帧中

高效地将多个csv文件读取到Pandas数据帧中
EN

Stack Overflow用户
提问于 2017-08-15 02:32:47
回答 1查看 1.8K关注 0票数 0

我尝试读取3年的数据文件(每个日期一个),与父文件(每个文件大约90MB和150万行)相比,我感兴趣的部分通常很小(总共约140万行)。下面的代码在过去的文件数量较少的情况下对我来说工作得很好。但是有1095个文件要处理,它正在爬行(读取一个文件大约需要3-4秒)。有什么建议可以让它更高效/更快吗?

代码语言:javascript
复制
import pandas as pd
from glob import glob

file_list = glob(r'C:\Temp2\dl*.csv') 
for file in file_list:
    print(file)
    df = pd.read_csv(file, header=None)
    df = df[[0,1,3,4,5]]
    df2 = df[df[0].isin(det_list)]  
    if file_list[0]==file:
        rawdf = df2
    else:
        rawdf = rawdf.append(df2)
EN

回答 1

Stack Overflow用户

发布于 2017-08-15 02:43:58

IIUC,试试这个:

代码语言:javascript
复制
import pandas as pd
from glob import glob

file_list = glob(r'C:\Temp2\dl*.csv')

cols = [0,1,3,4,5]

df = pd.concat([pd.read_csv(f, header=None, usecols=cols)
                  .add_prefix('c')
                  .query("c0 in @det_list") 
                for f in file_list],
               ignore_index=True)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45680827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档