我希望从txt文本中提取出ATOM到TER的行段中提取出第18-20列的数据(标蓝的第一行中第18-10列的数据是LEU),文本中有多个ATOM-TER的行段,多个行段的数据都要提取出来,并且有数千个文本需要处理,希望得到一个批处理的python程序。
该回答引用自ChatGPT
import re
def extract_data(file_name):
with open(file_name, 'r') as f:
lines = f.readlines()
for line in lines:
if re.match('ATOM.*TER', line):
data = line[17:20]
print(data)
if __name__ == '__main__':
file_names = ['file1.txt', 'file2.txt', 'file3.txt', ...]
for file_name in file_names:
extract_data(file_name)
只要开头是ATOM或TER的就提取第18-20列数据?
保证所有文本格式统一,用循环即可轻松处理几千甚至上万文本