如何跳过第一个标题行?我在代码后面重复了标题,所以我可以通过如果不是l.startswith('MANDT')来消除它们,但是我想保留第一个标题。我需要如何修改代码?跳过一行 - 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()'函数读取所有内容,因此所有内容都在内存中,然后截断文件。但是,我同意,这不是一个好的做法。 –