Загрузка данных из txt с пандами


я загружаю 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])? И как я могу определить заголовок?

5 54

5 ответов:

Вы можете использовать:

data = pd.read_csv('output_list.txt', sep=" ", header=None)
data.columns = ["a", "b", "c", "etc."]

добавить sep=" " в коде, оставляя пустое место между кавычками. Таким образом, панды могут обнаруживать пробелы между значениями и сортировать в Столбцах. Столбцы данных предназначены для именования столбцов.

Я хотел бы добавить к приведенным выше ответам, вы можете напрямую использовать

df = pd.read_fwf('output_list.txt')

fwf означает фиксированную ширину отформатированных линий.

решение @ Pietrovismara правильно, но я просто хотел бы добавить: вместо того, чтобы иметь отдельную строку для добавления имен столбцов, это можно сделать из pd.read_csv.

df = pd.read_csv('output_list.txt', sep=" ", header=None, names=["a", "b", "c"])

вы можете использовать этот

import pandas as pd
dataset=pd.read_csv("filepath.txt",delimiter="\t")

можно сделать так:

import pandas as pd
df = pd.read_csv('file_location\filename.txt', delimiter = "\t")

(например, df = pd.read_csv('F:\Desktop\ds\text.txt', разделитель = "\t")