elimine los caracteres que no sean ASCII del archivo CSV usando Python

Estoy tratando de eliminar los caracteres que no son ASCII de un archivo. De hecho, estoy intentando convertir un archivo de texto que contiene estos caracteres (por ejemplo, hello§‚å½ ¢ æˆ äº † å¯¹æ¯ “ã €‚ èŠ ± å) en un archivo csv.

Sin embargo, no puedo repetir estos caracteres y, por lo tanto, quiero eliminarlos (es decir, cortar o poner un espacio). Aquí está el código (investigado y recostackdo de varias fonts)

El problema con el código es que, después de ejecutar el script, el archivo csv / txt no se ha actualizado. Lo que significa que los personajes todavía están allí. No tengo ni idea de cómo hacer esto. Investigado por un día 🙁

Apreciaría amablemente su ayuda!

import csv txt_file = r"xxx.txt" csv_file = r"xxx.csv" in_txt = csv.reader(open(txt_file, "rb"), delimiter = '\t') out_csv = csv.writer(open(csv_file, 'wb')) for row in in_txt: for i in row: i = "".join([a if ord(a)<128 else''for a in i]) out_csv.writerows(in_txt) 

La asignación de variables no se transfiere mágicamente a la fuente original; tienes que construir una nueva lista de tus filas modificadas:

 import csv txt_file = r"xxx.txt" csv_file = r"xxx.csv" in_txt = csv.reader(open(txt_file, "rb"), delimiter = '\t') out_csv = csv.writer(open(csv_file, 'wb')) out_txt = [] for row in in_txt: out_txt.append([ "".join(a if ord(a) < 128 else '' for a in i) for i in row ] out_csv.writerows(out_txt)