请帮我解决2个主题:
1)我有一个长文件,其结构如下 - 行应以500开头。但是有些行不以500开头(第2行,第4行)应该与上面的行合并(所以第2行与第1行等)。我怎么能在python(2.7)中轻松完成它?
2)你也可以看到我之间有很多制表符 - 如何删除不需要的制表符然后将制表符替换为管道或分号,以便将文件加载到数据库?通常,一个选项卡对应一列。
INPUT
Line 1: 500 94449 YUUUII VP 0017A4775
YPAYREQ
Line 2: BOS MA
5 0.00 1,000.00 0.00 0.00
0.00 0.00 0.00 0.00
0.00
Line 3: 500 98220 YPO_INV KP 0017A4775
YNOUINU
Line 4: MARTHJJIU
5 8,000.00 8,000.00 0.00 0.00
0.00 0.00 0.00 0.00
C4
预期输出:
Line 1: 500;94449;YUUUII;VP;0017A4775;YPAYREQ;BOS;
MA;5;0.00;1,000.00;0.00;.00;0.00;0.00;0.00;0.00;0.00
Line 2: 500;98220;YPO_INV;KP;0017A47758;YNOUINU;
MARTHJJIU;;5;8,000.00;8,000.00;0.00;0.00;0.00;0.00;0.00;0.00;C4
答案 0 :(得分:0)
只需将\s+(?!\s|^500)
替换为multiline mode中的;
。
\s+(?!\s|^500)
匹配一个或多个空格字符,这些空格字符后面没有其他空格或字符串500
。