首页 > 解决方案 > 如何在 Pandas 中读取多 CSV?

问题描述

我有一个如下所示的日志文件:

A, colA1, colA2
B, colB1,
C, colC1, colC2, colC3, colC4
A, 1, 3
B, 2
C, 3, 1, 2, 4
...

本质上,日志文件包含多个CSV 文件。每行都以 csv 文件的标识符开头,然后转储一行。

目前,我grep A,在日志上使用返回以下输出:

A, colA1, colA2
A, 1, 3
...

然后我可以使用 pandas 将其读入数据框。但是,我必须为 B 和 C 执行此操作。我想知道是否有一种方法可以一次性加载此日志文件,而无需 greping 和存储到本地 csv 文件的中间步骤?

标签: pythonpandas

解决方案


Pandas 索引可以在这里提供帮助。只需在一个对象中读取文件,然后根据指标列应用条件将数据隔离在三个对象中。

检查以下示例:

import pandas as pd
complete_obj = pd.read_csv(file_loc)

file_A_obj = complete_obj[complete_obj['indicator_col']=='A']
file_B_obj = complete_obj[complete_obj['indicator_col']=='B']
file_C_obj = complete_obj[complete_obj['indicator_col']=='C']

推荐阅读