Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将以下行解析为数据帧_Python_Regex_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 如何将以下行解析为数据帧

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) 进入名称、城市和国家变量中,然后将这些变量填充到数据框中。

我已经编写了一个基于Selenium的Python3程序,从一个懒散的滚动网站上抓取一个版主列表

我在最后一步上被难倒了。变换线,例如:

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

对不起,我问得不清楚。我无法定义一个正则表达式模式,只能从出现次数可变的行中提取名称、城市、国家信息。它在我回答的第一行中定义。非常感谢。这给了我一个很好的基础,以适用于我的情况。