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

Removing whitespace and newlines in txt file with python

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

代码:

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);

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

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

我假设您想消除 额外的 空格 - 消除所有空白将导致 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 与分隔符 ', '.

连接