我如何将以下行解析为熊猫数据框

时间:2018-09-07 16:01:45

标签: python regex python-3.x pandas dataframe

我编写了一个基于Selenium的Python3程序,以从一个懒惰的滚动网站上刮取主持人列表。

我陷入了最后一步。转换行,例如:

Eleni Efstathiou (Houston, US) Silke Gillessen (St. Gallen, CH)
Susana Banerjee (London, GB) Sandro Pignata (Napoli, IT) 
Rick L. Haas (Amsterdam, NL)

输入名称,城市和国家变量,然后将其填充到数据框中。上面的数据将生成五行。

对正则表达式或其他更简单的方法有帮助吗?

1 个答案:

答案 0 :(得分:2)

您可以使用正则表达式提取字段并获取元组列表:

s = '''Eleni Efstathiou (Houston, US) Silke Gillessen (St. Gallen, CH)
Susana Banerjee (London, GB) Sandro Pignata (Napoli, IT) 
Rick L. Haas (Amsterdam, NL)'''

import re
mods = re.findall('(.+?)\s+\((.+?),\s+(.+?)\)\s*',s)

下一步,将列表转换为数据框:

pd.DataFrame(mods, columns=('name', 'city', 'nation'))
#               name        city nation
#0  Eleni Efstathiou     Houston     US
#1   Silke Gillessen  St. Gallen     CH
#2   Susana Banerjee      London     GB
#3    Sandro Pignata      Napoli     IT
#4      Rick L. Haas   Amsterdam     NL