【发布时间】:2021-05-26 07:49:25
【问题描述】:
我有一个从网站下载的 txt 文件。这个txt文件有很多观察和不同的表格。
一个例子是:
表 1
"{'ID':'1','Column A':'Observation A', 'Column B':'Observation B',...}"
"{'ID':'2','Column A':'Observation G', 'Column C':'Observation E',...}"
表 2
"{'ID':'3', 'Column A':'Observation I', 'Column C': Observation B',...}"
"{'ID':'4','Column I':'Observation A', 'Column B':'Observation B',...}"
我想做的是打开文件,将数据拆分为不同的观察值,尽管在它们的列下列出观察值。如果某个 ID 没有列,但该列出现在之前的 ID 中,则该列下的观察值应列为 N/A 或 0。否则,如果之前未出现列,则将其添加为新列并填充以前没有此列的 ID 的观察值为 0 或 N/A。考虑到上表演示,一个例子是:
'ID','Column A','Column B','Column C', 'Column I'
'3', 'I' ,'N/A' , 'B' , 'N/A'
目前我已使用open(str) 加载并读取数据以打开文件。使用正则表达式将数据拆分为多个观察值,然后开发一个数据框,尽管最终只有 1 列,每行包含每个 ID 的所有数据。我曾想过使用正则表达式使用分隔符进一步拆分,然后遍历每个 ID 的所有奇数,以便识别和附加(通过使用 .extend 方法)每个 ID 的列列表(可能属于任何表)。但是,如果有一个逗号分隔符的观察,这种方法会导致错误。
有没有更好的方法来解决这个问题?
【问题讨论】:
标签: python pandas dataframe split txt