Python 如何将以下行解析为数据帧
我已经编写了一个基于Selenium的Python3程序,从一个懒散的滚动网站上抓取一个版主列表 我在最后一步上被难倒了。变换线,例如:Python 如何将以下行解析为数据帧,python,regex,python-3.x,pandas,dataframe,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) 进入名称、城市和国家变量中,然后将这些变量填充到数据框中。
Eleni Efstathiou (Houston, US) Silke Gillessen (St. Gallen, CH)
Susana Banerjee (London, GB) Sandro Pignata (Napoli, IT)
Rick L. Haas (Amsterdam, NL)
进入名称、城市和国家变量中,然后将这些变量填充到数据框中。上面的数据将生成五行
请提供有关正则表达式或其他更简单方法的帮助?您可以使用正则表达式提取字段并获得元组列表:
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
对不起,我问得不清楚。我无法定义一个正则表达式模式,只能从出现次数可变的行中提取名称、城市、国家信息。它在我回答的第一行中定义。非常感谢。这给了我一个很好的基础,以适用于我的情况。