как определить форму файла .tsv через python

avatar
Imaq_fa
1 июля 2021 в 17:21
58
2
0

У меня есть файл .tsv, который выглядит следующим образом: .tsv Структура файла в MSExcel

Я хочу определить его форму с помощью pytorch. Как мне это сделать

Я написал код

импорт панд как pd

df = pd.read_csv(путь/к/.tsv)

df.shape

и выводит

(13596, 1)

Но очевидно, что форма противоречит изображению, которое я предоставил. Что я делаю не так?

Источник

Ответы (2)

avatar
Clay Shwery
1 июля 2021 в 17:26
0

Вам необходимо указать, как разграничиваются данные при использовании pd.read_csv (если они не разделены запятыми)

df = pd.read_csv(path/to/.tsv, sep = '\t')

Данные должны загружаться корректно.

См.: https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html

Редактировать: просматривая свои данные, вы также должны указать header=None, потому что у вас нет строки заголовка. В идеале также укажите список имен столбцов, используя параметр names для pd.read_csv

.
Imaq_fa
1 июля 2021 в 17:35
0

Это дало мне следующую ошибку ParserError: Ошибка токенизации данных. Ошибка C: ожидалось 6 полей в строке 10553, увидел 11

Clay Shwery
1 июля 2021 в 17:38
0

в ваших данных есть строки с неверными данными или некоторые поля содержат вкладки. error_bad_lines = False будет игнорировать эти записи

avatar
Felix K Jose
1 июля 2021 в 17:39
0

Проблема в том, что вам не хватает разделительного атрибута

import pandas as pd

df = pd.read_csv("data/test.txt")
print(df.shape)

Вывод: (2, 1)

import pandas as pd

df = pd.read_csv("data/test.txt", sep='\t')
print(df.shape)

Вывод: (2, 3)

Пожалуйста, добавьте sep='\t' в read_csv

Также, если у вас есть заголовок, вы можете передать header=0

pd.read_csv("data/test.txt", sep='\t', header=0)

Пожалуйста, дайте мне знать, если это поможет

Imaq_fa
6 июля 2021 в 17:13
0

да, использование "sep='\t'" вместе с добавлением "error_bad_lines=False" сработало