Gegevens laden van txt met panda’s

Ik laad een txt-bestand contantig een mix van float- en string-gegevens. Ik wil ze opslaan in een array waar ik toegang tot elk element heb. Nu doe ik gewoon

import pandas as pd
data = pd.read_csv('output_list.txt', header = None)
print data

Dit is de structuur van het invoerbestand: 1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt.

Nu worden de gegevens geïmporteerd als een unieke kolom. Hoe kan ik het verdelen, dus om verschillende elementen afzonderlijk op te slaan (zodat ik data[i,j]) kunnen bellen? En hoe kan ik een koptekst definiëren?


Antwoord 1, Autoriteit 100%

u kunt doen als:

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

(zoals, df = pd.read_csv (‘f: \ Desktop \ DS \ Text.txt’, delimiter = “\ t”)


Antwoord 2, Autoriteit 537%

U kunt gebruiken:

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

Voeg sep=" "in uw code, waardoor een lege ruimte tussen de aanhalingstekens achterblijft. Dus Panda’s kunnen spaties tussen waarden en sorteren in kolommen detecteren. Gegevenskolommen zijn voor het benoemen van uw kolommen.


Antwoord 3, Autoriteit 229%

Ik wil graag toevoegen aan de bovenstaande antwoorden, u kunt rechtstreeks gebruiken

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

FWF staat voor opgemaakte lijnen met vaste breedte.


Antwoord 4, Autoriteit 92%

De oplossing van @Pietrovismara is correct, maar ik wil graag toevoegen: in plaats van een aparte regel om kolomnamen toe te voegen, is het mogelijk om dit te doen vanaf pd.read_csv.

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

Antwoord 5, autoriteit 61%

u kunt dit gebruiken

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

Antwoord 6, autoriteit 43%

Als je geen index hebt toegewezen aan de gegevens en je weet niet zeker wat de spaties zijn, kun je panda’s een index laten toewijzen en naar meerdere spaties laten zoeken.

df = pd.read_csv('filename.txt', delimiter= '\s+', index_col=False)

Antwoord 7, autoriteit 14%

U kunt het tekstbestand als volgt importeren met de opdracht read_table:

import pandas as pd
df=pd.read_table('output_list.txt',header=None)

Voorbewerking is nodig na het laden


Antwoord 8, autoriteit 14%

Op basis van de laatste wijzigingen in panda’s kun je read_csv gebruiken, read_table is verouderd:

import pandas as pd
pd.read_csv("file.txt", sep = "\t")

Antwoord 9, autoriteit 4%

Ik kijk meestal eerst naar de gegevens of probeer het gewoon te importeren en doe data.head(), als je ziet dat de kolommen zijn gescheiden door \t, moet je sep="\t"anders sep = " ".

import pandas as pd     
data = pd.read_csv('data.txt', sep=" ", header=None)

Antwoord 10, autoriteit 4%

Als u het txt-bestand met de opgegeven kolomnaam wilt laden, kunt u de onderstaande code gebruiken. Het werkte voor mij.

import pandas as pd    
data = pd.read_csv('file_name.txt', sep = "\t", names = ['column1_name','column2_name', 'column3_name'])

Antwoord 11, autoriteit 2%

Je kunt het gebruiken wat het handigst is.

df = pd.read_csv(('data.txt'), sep="\t", skiprows=[0,1], names=['FromNode','ToNode'])

Other episodes