给定一个字符串列表,每个字符串由逗号分隔的子字符串组成,如何重新排序子字符串?

时间:2017-01-31 05:44:40

标签: python string python-3.x

我在excel文件中有一个名单列表,我已将其复制到文本文件中。名称的格式是“姓氏,名字前”,其中名字是名字(以及适用时的中间名)。在少数情况下,有两个中间名。如何删除逗号并更改名称的顺序,以便名字(和中间名)位于姓氏之前?

原始

lastname1, firstname1
lastname2, firstname2 middlename2
lastname3, firstname3

我想要的是什么:

firstname1 lastname1
firstname2 middlename2 lastname2
firstname3 lastname3

PS - 我在当地大学教授实验室,这是一本由数百个名字组成的成绩单。

2 个答案:

答案 0 :(得分:1)

您可以使用split,在逗号上划分名称:

for name in names:
    last, first = name.split(',', 1)
    print(first, last)

示例数据:

names = [x.strip() for x in """
    lastname1, firstname1
    lastname2, firstname2 middlename2
    lastname3, firstname3
""".split('\n')[1:-1]]

打印:

firstname1 lastname1
firstname2 middlename2 lastname2
firstname3 lastname3

如果您需要从文件中读取名称:

with open("file_location/file_name.txt") as f:
    names = f.readlines() 

答案 1 :(得分:0)

这取决于您使用的环境(或应用程序)。 对于excel,我只需导入文本数据并告诉excel它是逗号分隔的文本。这是怎么做的(微软链接) Text Import Wizard

相关问题