обнаружить странные символы в CSV Python - PullRequest
0 голосов
/ 18 марта 2019

У меня есть CSV с миллионной строкой или около того, и некоторые строки смешаны с некоторыми из этих символов (это означает, что строка может быть прочитана, но смешана с глупостью):

ªïÜܵ+>&\ôowó¨ñø4(½;!|Nòdd¼Õõ¿¨W[¦¡¿p\,¶êÕMÜÙ;!ÂeãYÃ3S®´øÂÃ

Вводфайл ISO-8859-1, каждая строка отфильтрована и записана в новый файл utf-8.

это можно отфильтровать?и как?

Вот как это выглядит (вся строка)

Foo;Bar;24/01/2019-13:06;24/01/2019-12:55.01;;! 
ù:#ªïÜܵ+>&\ôowó¨ñø4(½;!|Nòdd¼Õõ¿¨W[¦¡¿p\,¶êÕMÜÙ;! 
ÂeãYÃ3ÃS®´øÂÃç~ÂÂÂÂÃýì¯ãm;!Ãv 
´Ã¼ÂÂ9¬u»/"ÂFÃ|b`ÃÃõà ±ÃÃÂ8ÃÂ;Baz

Вот так я и читаю.кодировка для fileObject - ISO-8859-1

def tee(self, rules=None):
    _good = open(self.good, "a")
    _bad = open(self.bad, "a")
    with open(self.temp, encoding=rules["encoding"]) as fileobject:
        cpt = 0
        _csv = csv.reader(fileobject, **self.dialect)
        for row in _csv:
            _len = len(row)
            _reconstructed = ";".join(row)
            self.count['original'] += 1
            if _len == rules["columns"]:
                _good.write("{}\n".format(_reconstructed))
            else:
                _bad.write("{}\n".format(_reconstructed))
                # print("[{}] {}:{}{}{}".format(_len, cpt, fg("red"), _reconstructed, attr("reset")))
                self.count['errors'] += 1
            cpt += 1
    _good.close()
    _bad.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...