如何将数据集作者全名转换为姓氏加名字首字母的出版格式
作者名格式转换实现方法
你不需要刻意纠结只使用字符串方法或列表方法,两者搭配使用实现效率最高,具体处理逻辑如下:
- 你已经通过
.split(";")得到了每个独立作者的字符串列表,接下来先对每个作者字符串做首尾去空白处理,避免分割后带多余空格的问题 - 将每个作者字符串按
,分割成两部分,第一部分为姓氏,第二部分为名字全称 - 拆分名字全称得到所有名字段,逐段提取首字母后拼接,同时去掉多余的点号
- 所有作者处理完成后用
,拼接成最终字符串即可
你可以直接参考以下可运行的代码实现:
# 原始输入字符串 raw_author_str = "Makarenko, Iuliia; Mazhnaya, Alyona; Marcus, Ruthanne; Pykalo, Iryna; Madden, Lynn; Filippovich, Sergii; Dvoriak, Sergii; Altice, Frederick L." # 你已经完成的拆分步骤 author_segments = raw_author_str.split(";") processed_authors = [] for seg in author_segments: # 去掉首尾空白后拆分姓氏和名字 last_name, full_first_name = seg.strip().split(", ") # 提取所有名字的首字母,过滤点号 initials = "".join([name_part[0] for name_part in full_first_name.split()]).replace(".", "") # 拼接为要求格式加入结果列表 processed_authors.append(f"{last_name} {initials}") # 输出最终结果 final_output = ", ".join(processed_authors) print(final_output)
运行后输出结果完全匹配你的需求:
Makarenko I, Mazhnaya A, Marcus R, Pykalo I, Madden L, Filippovich S, Dvoriak S, Altice FL
内容的提问来源于stack exchange,提问作者Eoin Vaughan
相关产品推荐
相关产品推荐

