如何用Python提取TXT文件指定行内容并拆分元素以获目标输出?
提取TXT文件指定内容并拆分输出的脚本修正
我来帮你搞定这个需求!先明确下你的场景:你有一个内容如下的txt文件:
. . T - Python and Matplotlib Essentials for Scientists and Engineers . A - Wood, M.A. . . .
需要提取T - 后的完整标题,以及A - 后的作者名,还得把作者拆成姓氏和名字缩写,最终输出你想要的格式。
你的原脚本在内容提取和列表处理上有小问题,我帮你调整成更简洁易懂的版本,直接看修正后的代码:
with open('file.txt', 'r') as f: title_content = "" author_content = "" # 先遍历文件,把需要的行内容提取出来 for line in f: if "T - " in line: title_content = line.strip() # 去掉首尾的换行、空格等空白字符 elif "A - " in line: author_content = line.strip() # 处理标题:拆分后直接取分隔符后面的内容 final_title = title_content.split('T - ')[1].strip() print(final_title) # 处理作者:先拆分出A-后的内容,再按逗号分割成姓氏和名字缩写 author_part = author_content.split('A - ')[1].strip() last_name, first_name_abbr = author_part.split(', ') print(last_name) print(first_name_abbr)
代码说明:
- 用
strip()替代rstrip('\n'),能同时清理行首尾的空格、换行符,处理后的内容更干净。 - 拆分标题时,
split('T - ')会把字符串分成两部分,直接取索引1的元素就是我们要的标题,不用复杂的filter操作。 - 作者部分先提取出
A -后的完整内容,再用,拆分,直接得到姓氏和名字缩写,逻辑更直观。
运行这个脚本后,就能得到你期望的输出:
Python and Matplotlib Essentials for Scientists and Engineers Wood M.A.
内容的提问来源于stack exchange,提问作者ahmed redha
相关产品推荐
相关产品推荐

