首页 > 解决方案 > 使用 Pandas 读取数据并跳过元数据

问题描述

背景

我的数据文件由两部分组成:CSV 格式的数据和元数据。我可以使用此处1和此处2给出的方法通过指定元数据开头的位置/行号来手动跳过元数据部分。

以下是数据文件的示例:

3

在这里,您可以看到我可以手动指定行号(420)并使用以下代码跳过元数据:

with open('data.csv', 'r') as f:
    metadata_location = [i for i, x in enumerate(f.readlines()) if 'Metadata' in x]
with open('data.csv', 'r') as f:
    flat_data = pd.read_csv(f, index_col=False, skiprows=lambda x: x >= metadata_location[0])

with open('data.csv') as f:
    df = pd.read_csv(f, index_col=False)
df = df[:420]

问题

如何扫描文件以捕获元数据然后跳过读取它?(我需要处理多个这样的文件,因此,我希望编写这样的代码)

标签: pythonpandasmetadata

解决方案


你的问题不清楚。如果我说得对,您正在寻找一种方法来扫描所有行并在每个行上运行上述代码?

编辑1:

for index, row in All_Patients_Chosen_Visit.iterrows(): df = row[:420]

见上面的代码。检查它是否有效


推荐阅读