Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.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 - Fatal编程技术网

Python 使用不同的姓氏数删除姓名列表

Python 使用不同的姓氏数删除姓名列表,python,Python,试图用美味的汤来讨好瑞典议员。当我运行scraper时,我得到“ValueError:太多的值无法解包(预期为3)” 脚本输出一个csv,但只有五个名称。名单上的第六个人是阿尔姆·埃里克森,简妮(议员)。我想问题是她有两个姓——阿尔姆·埃里克森,代码只需要三个值:firstname、lastname和party 我应该如何对字段拆分进行编码,使其也适用于双姓 页面上的名称写为 Last_name, first_name (party) 代码: 很明显,分裂在这里不是一个好的解决方案。(或者应该

试图用美味的汤来讨好瑞典议员。当我运行scraper时,我得到“ValueError:太多的值无法解包(预期为3)”

脚本输出一个csv,但只有五个名称。名单上的第六个人是阿尔姆·埃里克森,简妮(议员)。我想问题是她有两个姓——阿尔姆·埃里克森,代码只需要三个值:firstname、lastname和party

我应该如何对字段拆分进行编码,使其也适用于双姓

页面上的名称写为

Last_name, first_name (party)
代码:


很明显,分裂在这里不是一个好的解决方案。(或者应该使用逗号和括号而不是空格分隔)

使用regexp:

import re
re.match('([^,]*), ([^(]*) \((.*)\)', 'Alm Ericson, Janine (MP)').groups()
返回

('Alm Ericson', 'Janine', 'MP')

很明显,分裂在这里不是一个好的解决方案。(或者应该使用逗号和括号而不是空格分隔)

使用regexp:

import re
re.match('([^,]*), ([^(]*) \((.*)\)', 'Alm Ericson, Janine (MP)').groups()
返回

('Alm Ericson', 'Janine', 'MP')

我想你也可以使用一个函数返回列表中的部分(不像已经给出的答案那么清晰),例如


我想你也可以使用一个函数返回列表中的部分(不像已经给出的答案那么清晰),例如


下面是一个简单的正则表达式,它应该可以做到这一点

 import re
 print(re.match("(.*), (.*) \((.*)\)", 'Alm Ericson, Janine (MP)').groups())

从科伦丁的回答中得到启发,这里有一个简单的正则表达式,可以实现这一点

 import re
 print(re.match("(.*), (.*) \((.*)\)", 'Alm Ericson, Janine (MP)').groups())

灵感来源于科伦丁的回答

因为它与靓汤无关,所以你应该管理标签和问题。这段代码中有很多杂音,因为它与靓汤无关,所以你应该管理标签和问题。这段代码中有很多噪音,我认为科伦丁的回答更适合这种情况。对于其他开发人员来说,它更易于阅读和维护,我同意@BlueSheepToken。我只是想尝试写些python。我很乐意记下改进笔记。我已经超过了他们的。只是我更喜欢正则表达式方法,因为它更清晰,但您的代码完全可读:)而且对新开发人员更友好。我认为Corentin的答案更适合这种情况。对于其他开发人员来说,它更易于阅读和维护,我同意@BlueSheepToken。我只是想尝试写些python。我很乐意记下改进笔记。我已经超过了他们的。只是我更喜欢正则表达式方法,因为它更清晰,但您的代码完全可读:)并且对新开发人员更友好。我对Python和一般的编码都很陌生,你能告诉我应该把它放在代码的什么地方吗?啊哈,好的。我对Python和一般的编码都很陌生,你能告诉我应该把它放在代码的什么地方吗?