使用python删除txt文件中的空格和换行符

时间:2015-11-02 01:03:49

标签: python newline data-cleansing

我设法用;替换了我想要的东西但现在我很难删除空格和换行符以获取所有数据,直到;在一行上然后开始下一行。 / p>

代码:

replacements = {'Geboren am':';', 'Nato/a il':';', 'Né(e) le':';'}

with open('DATEN2.txt') as infile, open('DATENBEARBEITET2.txt', 'w') as outfile:
for line in infile:
    for src, target in replacements.iteritems():
        line = line.replace(src, target)
outfile.write(line)

输入文件的样子:(替换后)

       Kommissionen und Delegationen




                        06.12.1999 - 30.11.2003 




                    Begnadigungskommission (BeK-V)     



               ;

应该是什么样的:

Kommissionen und Delegationen, 06.12.1999 - 30.11.2003, Begnadigungskommission (BeK-V);

经过长时间的搜索,我来到这里询问,如果有人知道正确的存储库或命令用于此类任务,我真的很难进入下一步。

编辑:/此外,之前的换行符应变为逗号,请参阅示例输出

1 个答案:

答案 0 :(得分:1)

我假设你想要消除额外的空格 - 消除所有这些空白会导致KommissionenundDelegationen,06...。您可以使用strip()join()

执行此操作
replacements = {'Geboren am':';', 'Nato/a il':';', 'Né(e) le':';'}

lines = []
with open('DATEN2.txt') as infile, open('DATENBEARBEITET2.txt', 'w') as outfile:
    for line in infile:
        line = line.strip()
        if not line:
            continue
        for src, target in replacements.iteritems():
            line = line.replace(src, target)
        lines.append(line)
    outfile.write(', '.join(lines))

这会创建一个list,其中包含多个空格的行,每行都会删除空格并进行适当的替换。然后list', '的分隔符结合。