【发布时间】:2017-09-06 22:44:22
【问题描述】:
前言
我已经有一段时间没有使用 python 了,所以我在数据清理方面遇到了问题。 在记事本++中运行速度非常慢,所以我正在寻找更有效的python选项。
我需要什么
我需要清理一个目录中的 100 多个文件,所有这些文件都是从 SAP 中手动提取的。
我正在寻找的步骤:
- 删除第一行
----- - 删除第三行
----- - 从每行删除第一个和最后一个字符
| - 在需要的地方删除空格 - 我需要在文本之间保留它们
原始文件
---------------------------------------------------------------------------
| MANDT|BUKRS|NETWR |UMSKS|UMSKZ|AUGDT |AUGBL|ZUONR |
---------------------------------------------------------------------------
| 100 |1000 |23.321- | | | | |TEXT I WANT TO KEEP|
| 100 |1000 |0.12 | | | | |TEXT I WANT TO KEEP|
| 100 |1500 |90 | | | | |TEXT I WANT TO KEEP|
---------------------------------------------------------------------------
预期结果
MANDT|BUKRS|NETWR|UMSKS|UMSKZ|AUGDT|AUGBL|ZUONR
100|1000|23.321-|||||TEXT I WANT TO KEEP
100|1000|0.12|||||TEXT I WANT TO KEEP
100|1500|90|||||TEXT I WANT TO KEEP
代码here 是我正在尝试使用的代码,但我需要正则表达式组合方面的帮助。在记事本++ 中,我可以使用\h+(\w+)\h+ 并替换\1,但在这里它不起作用。请帮我建立一个合适的正则表达式。
【问题讨论】:
-
忽略没有
|的行,在|上拆分,修剪,使用|连接值。这个算法不需要正则表达式。 -
事情就像我提到的那样,我已经有一段时间没有使用 python了——我想大约有 1 年了。可以分享一些代码片段吗?
标签: python regex removing-whitespace