0

需要读取在 Excel 中创建的“slk”格式的文件。尝试

    def main():
    _filename = r'c:\Work\_import.slk'
    print(f'Имя файла: {_filename}')

    with open(_filename, 'r',encoding='ascii') as _fileR:
        FileDataStr = _fileR.read()
        for _line in FileDataStr.splitlines():
            if not _line.upper().find('NAMEINLIST') == -1:
                print(_line)
                print(_line.encode('utf-8-sig'))
                print(_line.encode('cp1251'))
                print(_line.encode('cp1252'))
                print(_line.encode('KOI8-U'))

#  ------------------------------------------------------------------------
if __name__ == "__main__":
    main()

没有英文字符的问题,但是西里尔文(((

这个

C;Y2;N;K".NameInList 'NAENAiNHiNCiNsNAo NHaNAaNBiNBiNCuNDo NDnNCiNAoNsNBoNHaNBiNAeNCeNCiNCa NAeNKc 1NDN'"

或这个

b'\xef\xbb\xbfC;Y2;N;K".NameInList \'\x1bNAE\x1bNAi\x1bNHi\x1bNCi\x1bNs\x1bNAo \x1bNHa\x1bNAa\x1bNBi\x1bNBi\x1bNCu\x1bNDo \x1bNDn\x1bNCi\x1bNAo\ x1bNs\x1bNBo\x1bNHa\x1bNBi\x1bNAe\x1bNCe\x1bNCi\x1bNCa\x1bNAe\x1bNKc 1\x1bNDN\'"'

如何将其翻译为.NameInList 'Импорт данных сотрудников из 1С'

4

1 回答 1

0

-------------------------------------------------- ----------------------

# Словарь для распознования SLK
    a_dict = {"\\x1bNAA": "А", "\\x1bNBA": "Б", "\\x1bNCA": "В", "\\x1bNDA": "Г"
        , "\\x1bNHA": "Д", "\\x1bNJA": "Е", "\\x1bNH ": "Ё", "\\x1bNa": "Ж", "\\x1bNKC": "З"
        , "\\x1bNAE": "И", "\\x1bNBE": "Й", "\\x1bNCE": "К", "\\x1bNHE": "Л"
        , "\\x1bNAI": "М", "\\x1bNBI": "Н", "\\x1bNCI": "О", "\\x1bNHI": "П", "\\x1bNb": "Р"
        , "\\x1bNDN": "С", "\\x1bNAO": "Т", "\\x1bNBO": "У", "\\x1bNCO": "Ф"
        , "\\x1bNDO": "Х", "\\x1bNHO": "Ц", "\\x1b-7": "Ч", "\\x1bNi": "Ш", "\\x1bNAU": "Щ", "\\x1bNBU": "Ъ"
        , "\\x1bNCU": "Ы", "\\x1bNHU": "Ь", "\\x1b-=": "Э", "\\x1bNl": "Ю", "\\x1bN{": "Я"
        , "\\x1bNAa": "а", "\\x1bNBa": "б", "\\x1bNCa": "в", "\\x1bNDa": "г", "\\x1bNHa": "д", "\\x1bNJa": "е",
              "\\x1b+8": "ё", "\\x1bNq": "ж", "\\x1bNKc": "з"
        , "\\x1bNAe": "и", "\\x1bNBe": "й", "\\x1bNCe": "к", "\\x1bNHe": "л", "\\x1bNAi": "м", "\\x1bNBi": "н",
              "\\x1bNCi": "о", "\\x1bNHi": "п", "\\x1bNs": "р"
        , "\\x1bNDn": "с", "\\x1bNAo": "т", "\\x1bNBo": "у", "\\x1bNCo": "ф", "\\x1bNDo": "х", "\\x1bNHo": "ц",
              "\\x1b/7": "ч", "\\x1bNy": "ш", "\\x1bNAu": "щ"
        , "\\x1bNBu": "ъ", "\\x1bNCu": "ы", "\\x1bNHu": "ь", "\\x1b/=": "э", "\\x1bN|": "ю", "\\x1bNHy": "я"
              }


for key in a_dict:  # через словарь разбираем текст
   _l1 = _l1.replace(key, a_dict[key])
于 2020-04-21T06:21:32.653 回答