Python实现文本中引号内单词与制表符分隔末尾单词互换
NumPy思路的补充(不推荐,文本处理用正则更高效)
如果坚持用NumPy,可按以下步骤实现:
- 按制表符分割每行,拆分出「前置文本」和「末尾单词」两部分
- 提取前置文本中引号内的单词,替换为末尾单词
- 将替换后的前置文本与原引号内单词用制表符拼接
示例代码:
import numpy as np import re # 读取文件,按制表符分割每行 lines = np.loadtxt('readme.txt', dtype=str, delimiter='\t', comments=None) with open('output.txt', 'w', encoding='utf-8') as outfile: for front_text, end_word in lines: # 提取引号内的单词 quoted_word = re.findall(r'"(\w+)"', front_text)[0] # 替换引号内容 new_front = front_text.replace(f'"{quoted_word}"', f'"{end_word}"') # 拼接为新行 new_line = f'{new_front}\t{quoted_word}' outfile.write(new_line + '\n')
关于NumPy思路的疑问解答
- 识别引号内单词的位置:可以用正则提取,或者通过
front_text.find('"')和front_text.rfind('"')获取引号的索引,再截取中间内容 - 列表转普通文本:无需拼接所有分割后的单词,按制表符拆分后直接处理两部分内容,再用制表符拼接即可,比全量分割更简洁
内容的提问来源于stack exchange,提问作者Veritas
相关产品推荐
相关产品推荐

