首页 > 解决方案 > Pandas / Dask 阅读半表格文本

问题描述

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

Version:23
Developer: Ali

NAME AGE IN
- Carol 22 no
- Kyle 31 yes
...

我使用 Dask 数据框(应该类似于 Pandas)来阅读它。结果表应该是这样的数据框:

NAME AGE IN
Carol 22 no
Kyle 31 yes

我很难摆脱列名“-”下方每一行(“-”)中的破折号。我试过了

dd.read_csv(filepath, header = 3, sep="\s+")

这导致数据帧具有不同的行大小并带来更多问题,我也尝试使用多个分隔符但仍然给出错误。

dd.read_csv(filepath, header = 3, sep="\s-\s+")

标签: pandasdataframeparsingdask

解决方案


dask.dataframe假设您的数据已经采用表格格式。如果您坚持使用 dask,那么您将进一步使用dask.bag,它将逐行加载文件。然后,您可以过滤掉不以破折号开头的行,并处理那些以破折号开头的行,将它们编码为 json 对象/dict,稍后您将其转换为带有.to_dataframe().


推荐阅读