我在excel文件中有一个名单列表,我已将其复制到文本文件中。名称的格式是“姓氏,名字前”,其中名字是名字(以及适用时的中间名)。在少数情况下,有两个中间名。如何删除逗号并更改名称的顺序,以便名字(和中间名)位于姓氏之前?
原始
lastname1, firstname1
lastname2, firstname2 middlename2
lastname3, firstname3
我想要的是什么:
firstname1 lastname1
firstname2 middlename2 lastname2
firstname3 lastname3
PS - 我在当地大学教授实验室,这是一本由数百个名字组成的成绩单。
答案 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