どのように最初のヘッダ行をスキップできますか?ヘッダーはコードの後半に複製されていますので、l.startswith( 'MANDT')ではなく、最初のヘッダーを残しておきます。コードをどのように変更する必要がありますか?1行をスキップする - pythonを開いて
keep -> MANDT|BUKRS|NETWR|UMSKS|UMSKZ|AUGDT|AUGBL|ZUONR
100|1000|23.321-|||||TEXT
100|1000|0.12|||||TEXT
100|1500|90|||||TEXT
remove -> MANDT|BUKRS|NETWR|UMSKS|UMSKZ|AUGDT|AUGBL|ZUONR
100|1000|23.321-|||||TEXT
100|1000|0.12|||||TEXT
100|1500|90|||||TEXT
remove -> MANDT|BUKRS|NETWR|UMSKS|UMSKZ|AUGDT|AUGBL|ZUONR
コード私は使用しています。
with open('yourfile.txt', 'r+') as f: # 'r+' - read/write mode
lines = f.read().splitlines()
f.seek(0) # reset file pointer
f.truncate() # truncating file contents
for l in lines:
if not l.startswith('---'):
# or f.write('|'.join(map(str.strip, l.strip('|').split('|'))) + '\n')
f.write(re.sub(r'\|\s*|\s*\|', '|', l).strip('|') + '\n')
[あなたのインデントを修正](https://stackoverflow.com/posts/46200139/edit)してください。ひどくインデントされたPythonコードはナンセンスです。 – khelwood
あなたが読んでいるときにあなたが読んでいるのと同じファイルに書き込むべきではありません。 –
@JulienPalard:彼は同じ時間に読み書きをしません。まずread()関数を使ってすべてを読み込み、すべてがメモリ上にあるので、ファイルを切り捨てます。しかし、私は同意する、これは良い習慣ではない。 –