使用Python从大型文本文件中删除控制字符

时间:2020-01-30 14:21:11

标签: regex python-3.x replace python-unicode control-characters

我需要从大型XML文件(几个5 GB以上的文件)中删除具有U+0000 to U+009F统一编码范围的控制字符。 我正在用jupyter笔记本编写我的python代码,但后来需要能够从命令外壳运行它,但这是我需要弄清楚的另一件事。

如何删除这些字符?这就是我所拥有的,但是只删除了许多控制字符中的两个。我需要写出要删除的完整字符列表吗?

这会占用大文件吗? -我目前没有大文件可以对其进行测试。

最初的问题是sql server拒绝处理带有非法字符的XML文件。

import sys
import codecs
import re

data = open('NAK.XML', encoding='utf').read()
cc = [u'\u0015', u'\u0009']

def remove_control_characters(s):
    return re.sub ("|".join(cc), '', data)
data_new = remove_control_characters(data)
new_file = open ('new_file.XML', 'w').write(data_new)

0 个答案:

没有答案
相关问题