es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Lea el archivo .txt como un dataframe con pandas.

Estoy intentando leer un archivo de texto. El archivo contiene entre otras cosas la siguiente entrada:

DE 01945 Ruhland Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.4576 13.8664 4
DE 01945 Tettau Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.4333 13.7333 4
DE 01945 Grünewald Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.4 14 4
DE 01945 Guteborn Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.4167 13.9333 4
DE 01945 Kroppen Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.3833 13.8 4
DE 01945 Schwarzbach Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.45 13.9333 4
DE 01945 Hohenbocka Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.431 14.0098 4
DE 01945 Lindenau Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.4 13.7333 4
DE 01945 Hermsdorf Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.4055 13.8937 4
DE 01968 Senftenberg Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.5252 14.0016 4
DE 01968 Schipkau Hörlitz Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.5299 13.9508
DE 01968 Schipkau Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.5456 13.9121 4
DE 01979 Lauchhammer Brandenburg BB 00 Landkreis Oberspreewald-Lausitz 12066 51.4881 13.7662 4

Mi código se ve así:

import pandas as pd

data = pd.read_csv(‘DE.txt’, sep=” “, header=None)

Actualmente estoy obteniendo el siguiente error del que no puedo pasar:

ParserError: Error tokenizing data. C error: Expected 2 fields in line 11, saw 3

Creo que esto se debe al nombre de la ciudad de dos partes, ¿cómo puedo leer correctamente el archivo de texto?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede intentar utilizar el parámetro skiprows en pd.read_csv() para saltar las filas con nombres de ciudades de dos partes. Por ejemplo, puede utilizar el siguiente código:

    import pandas as pd
    
    data = pd.read_csv('DE.txt', sep=" ", header=None, skiprows=[10, 11])
    

Comments are closed.