¿Cómo cargar un archivo tsv en un Pandas DataFrame?

3 minutos de lectura

avatar de usuario
Chillido búho

Soy nuevo en python y pandas. estoy tratando de conseguir un tsv archivo cargado en un pandas DataFrame.

Esto es lo que estoy intentando y el error que estoy recibiendo:

>>> df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter="\t"))

Traceback (most recent call last):
  File "<pyshell#28>", line 1, in <module>
    df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter="\t"))
  File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 318, in __init__
    raise PandasError('DataFrame constructor not properly called!')
PandasError: DataFrame constructor not properly called!

  • Para aquellos que lleguen a esta respuesta en 2017+, use read_csv('path_to_file', sep='\t'). Vea esta respuesta a continuación

    –Ted Petrou

    6 de noviembre de 2017 a las 16:49


  • Gracias @TedPetrou

    – Salomón Kabongo

    21 de noviembre de 2019 a las 21:22

avatar de usuario
huón

los .read_csv función hace lo que quieres:

pd.read_csv('c:/~/trainSetRel3.txt', sep='\t')

Si tiene un encabezado, puede pasar header=0.

pd.read_csv('c:/~/trainSetRel3.txt', sep='\t', header=0)

Nota: Anterior 17.0, pd.DataFrame.from_csv se utilizó (ahora está en desuso y la .from_csv enlace de documentación redirige a la página de pd.read_csv).

  • Tuve algunos problemas con este método: era muy lento y fallaba al indexar al final. En cambio, usé read_table(), que funcionó mucho más rápido y sin el parámetro adicional.

    – Yuri Astracán

    15 de agosto de 2014 a las 9:56


  • Tenga en cuenta que a partir del 17.0 from_csv se desaconseja: utilizar pd.read_csv ¡en cambio!

    – rafaelvalle

    3 de diciembre de 2016 a las 0:10


  • Tuve que usar lo siguiente: DataFrame.read_csv(‘filepath.tsv’, sep=’ ‘, header=0)

    – Archie

    20 de enero de 2017 a las 9:30


  • Esta es una mala respuesta; puedes leer TSV de forma nativa con pd.read_csv/read_tablesolo tienes que configurar delim_whitespace=True o sep

    – smci

    29 de abril de 2018 a las 8:31


  • @rafaelvalle agregó aviso obsoleto

    –Arayan Singh

    15 de febrero de 2019 a las 21:53

avatar de usuario
Kamil Sindi

A partir del 17.0 from_csv está desanimado.

Usar pd.read_csv(fpath, sep='\t') o pd.read_table(fpath).

  • Nota: read_table está en desuso desde la versión 0.24.0. Utilice pandas.read_csv() en su lugar.

    – ManuelSchneid3r

    31 de marzo de 2019 a las 14:34

  • Aparentemente read_table era tarde no obsoleto en 0.25.0.

    – Yodavid

    5 de mayo a las 9:26

avatar de usuario
wes mckinney

Usar pandas.read_table(filepath). El separador predeterminado es tabulador.

  • read_table no requiere ningún parámetro. Perfectamente funcionando.

    – Jay

    24 de julio de 2016 a las 9:19

avatar de usuario
Mohsin Ashraf

Prueba esto

df = pd.read_csv("rating-data.tsv",sep='\t')
df.head()

ingrese la descripción de la imagen aquí

En realidad necesitas arreglar el sep parámetro.

avatar de usuario
ankit srivastava

abra el archivo, guárdelo como .csv y luego aplique

df = pd.read_csv('apps.csv', sep='\t')

para cualquier otro formato también, simplemente cambie la etiqueta sep

data = pd.read_csv('your_dataset.tsv', delimiter="\t", quoting = 3)

Puede usar un delimitador para separar los datos, cotizar = 3 ayuda a borrar las comillas en datasst

avatar de usuario
Stefan Ollinger

df = pd.read_csv('filename.csv', sep='\t', header=0)

Puede cargar el archivo tsv directamente en el marco de datos de pandas especificando el delimitador y el encabezado.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad