Загружать данные из txt с помощью pandas
Я загружаю txt файл, содержащий сочетание данных float и string. Я хочу сохранить их в массиве, где я могу получить доступ к каждому элементу. Теперь я просто делаю
import pandas as pd
data = pd.read_csv('output_list.txt', header = None)
print data
Это структура входного файла: 1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt
.
Теперь данные импортируются как уникальный столбец. Как я могу его разделить, чтобы хранить разные элементы отдельно (так что я могу позвонить data[i,j]
)? И как я могу определить заголовок?
Ответы
Ответ 1
Вы можете использовать:
data = pd.read_csv('output_list.txt', sep=" ", header=None)
data.columns = ["a", "b", "c", "etc."]
Добавьте sep=" "
в свой код, оставив пробел между кавычками. Таким образом, pandas может обнаруживать пробелы между значениями и сортировать по столбцам. Столбцы данных предназначены для обозначения ваших столбцов.
Ответ 2
Я хотел бы добавить к приведенным выше ответам, вы можете напрямую использовать
df = pd.read_fwf('output_list.txt')
fwf обозначает форматированные строки с фиксированной шириной.
Ответ 3
Решение @Pietrovismara корректно, но я просто хотел бы добавить: вместо того, чтобы иметь отдельную строку для добавления имен столбцов, это можно сделать из pd.read_csv.
df = pd.read_csv('output_list.txt', sep=" ", header=None, names=["a", "b", "c"])
Ответ 4
вы можете использовать этот
import pandas as pd
dataset=pd.read_csv("filepath.txt",delimiter="\t")
Ответ 5
Вы можете сделать как:
import pandas as pd
df = pd.read_csv('file_location\filename.txt', delimiter = "\t")
(например, df = pd.read_csv ('F:\Desktop\ds\text.txt', delimiter = "\ t")
Ответ 6
Если у вас нет индекса, назначенного для данных, и вы не уверены, что такое интервал, вы можете использовать, чтобы панды могли назначить индекс и искать несколько пробелов.
df = pd.read_csv('filename.txt', delimiter= '\s+', index_col=False)
Ответ 7
Вы можете импортировать текстовый файл с помощью команды read_table следующим образом:
import pandas as pd
df=pd.read_table('output_list.txt',header=None)
Предварительная обработка должна быть выполнена после загрузки
Ответ 8
Основываясь на последних изменениях в пандах, вы можете использовать read_csv, read_table устарела:
import pandas as pd
pd.read_csv("file.txt", sep = "\t")