在日常工作中,总会遇到要把若干相同排布的文本转换成另一种排布,可用python省去重复性劳动。例如在不同语言中有不同的语法格式,但内容却相同。
例如如下管脚约束:
转换成两行式:
当管脚约束几十上百行后,手动就很麻烦。所以借助python的字符串处理能力:
import pandas as pd
string = pd.read_table('data.txt', header=None) # 打开输入文件
with open('data_out.txt', 'a+') as f: # 打开输出文件
f.truncate(0) # 清除原文件
for s in string.values:
s = s[0].split() # 原语句拆分多个然后拼接
s0 = s[0] + ' ' + s[2][1:] + '\t' + s[3] + '\t\t' + s[6] + ' ' + s[7] + s[8]
s1 = s[0] + ' ' + s[4] + '\t\t' + s[5][:-1] + '\t' + s[6] + ' ' + s[7] + s[8]
print(str(s0))
print(str(s1))
f.writelines(s0 + '\n')
f.writelines(s1 + '\n')
原数据:
结果: