我有一个文本文件,我试图从中创建一个熊猫 DFName John DoeCountry WakandaMonth of birth January 1900social status married....每 4 行之后,就会出现一个与此类似的新记录。我正在尝试创建的数据框结构 Name Country . Month of Birth . social status0 . John Doe . Wakanda January 1900 married当前方法:我正在使用一种非常低效的迭代方法将记录提取为列表列表,其中每个列表都是 DF 的一行。是否有更好的 Pythonic 方法将列名与值分开,并单独提取值。附注。我不是要代码。关于这种方法的任何建议都会很棒。
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
也许一种方法是为每个条目列出一个潜在匹配项列表,并为每个条目遍历此列表并在匹配项的情况下去除关键字。
作为单个条目的示例:
text = 'Month of birth January 1900'
keys = ['Month of birth', 'Date of birth' 'Birth']
当您查找匹配项时,一个选项是从列表中选择最短的字符串,这意味着匹配的单词更多:
min([text.strip(x) for x in keys])
'January 1900'
您只需为不同的字段遵循这种方法,并从结果字符串构建一个数据框。您还可以考虑在搜索关键字之前对字符串进行词干处理。希望这可以帮助。
添加回答
举报
0/150
提交
取消