Estoy lidiando con algunos problemas en algunos archivos sobre la codificación. Recibimos archivos de otra empresa y tenemos que leerlos (los archivos están en formato csv)Abra un archivo en la codificación correcta automáticamente
Extrañamente, los archivos parecen estar codificados en UTF-16. Estoy logrando hacer eso, pero tengo que abrirlos usando el módulo codecs
y especificando la codificación, de esta manera.
ENCODING = 'utf-16'
with codecs.open(test_file, encoding=ENCODING) as csv_file:
# Autodetect dialect
dialect = csv.Sniffer().sniff(descriptor.read(1024))
descriptor.seek(0)
input_file = csv.reader(descriptor, dialect=dialect)
for line in input_file:
do_funny_things()
Pero, al igual que yo soy capaz de conseguir el dialecto de una manera más agnóstico, estoy pensando que será muy bueno para tener una forma de abrir automáticamente los archivos con la codificación adecuada, al menos toda la archivos de texto Hay otros programas, como vim, que logran eso.
¿Alguien sabe una manera de hacerlo en Python 2.6?
PD: espero que esto se resolverá en Python 3, ya que todas las cadenas son Unicode ...
Python 3 no resuelve esto; todo lo que hace es agregar los argumentos 'encoding' y' errors' a 'open()'. –