2016-01-19 3 views
0

Я пытаюсь объединить содержимое текстовых файлов в каталог в один текстовый файл.Слияние текстовых файлов с различными кодировками символов

Некоторые текстовые файлы кодируются в ANSI, некоторые в UTF-8, а некоторые в UTF-8 с спецификацией и другими кодировками символов.

Я попытался объединиться с командами типа и копирования, но файл результатов будет содержать странные символы. Например, «ö» становится «Ã¶». Другие европейские/акцентированные письма также испорчены. Кроме того, существуют строки, начинающиеся с «ï» ¿», которые после некоторого исследования фактически являются невидимым свойством спецификации.

Как объединить эти текстовые файлы в один, сохраняя их читаемую форму? Я открыт для предложений рядом с Windows CMD.

ответ

0

Вы не можете слепо объединить файлы. Если вы знаете, какие файлы являются кодировками, вы можете использовать инструмент, чтобы перекодировать их каждый в общее представление, такое как UTF-8, перед слиянием. Например, в Python 3.x это объединит четыре файла различных кодировок в общий файл с кодировкой UTF-8 (непроверенный):

#!python3 

files = [('file1.txt','cp1252'), 
     ('file2.txt','utf8'), 
     ('file3.txt','utf-8-sig'), 
     ('file4.txt','chinese')] 

with open('output.txt','w',encoding='utf8') as out: 
    for filename,encoding in files: 
     with open(filename,encoding=encoding) as f: 
      out.write(f.read()) 
Смежные вопросы