猿问

Python中的字符串处理

我有一个文本文件,我试图从中创建一个熊猫 DF


Name John Doe

Country Wakanda

Month of birth January 1900

social status married


....

每 4 行之后,就会出现一个与此类似的新记录。我正在尝试创建的数据框结构


      Name      Country .    Month of Birth .       social status


0 . John Doe .  Wakanda        January 1900           married

当前方法:


我正在使用一种非常低效的迭代方法将记录提取为列表列表,其中每个列表都是 DF 的一行。


是否有更好的 Pythonic 方法将列名与值分开,并单独提取值。


附注。我不是要代码。关于这种方法的任何建议都会很棒。


临摹微笑
浏览 136回答 1
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'您只需为不同的字段遵循这种方法,并从结果字符串构建一个数据框。您还可以考虑在搜索关键字之前对字符串进行词干处理。希望这可以帮助。
随时随地看视频慕课网APP

相关分类

Python
我要回答