2013-09-03 17 views
5

Ich verwende Enthought Canopy (eine Reihe von vielen verschiedenen Python-Bibliothek-Pakete, z. B. NumPy, Pandas, etc.) für die Datenanalyse. Ich versuche eine Textdatei zu lesen und daraus einen Datenrahmen zu erstellen. Die Textdatei hat 1180598 Zeilen und 18 Spalten. Alle Spalten haben Nummern. Ich schrieb für das Lesen und Namensdatenspalten folgenden Code:Wie lese ich eine große Textdatei in Python?

from pandas import DataFrame, read_csv 
import matplotlib.pyplot as plt 

import pandas as pd 

print 'Pandas Version ' + pd.__version__ 
Pandas Version 0.12.0 

location=r'C:\UMAIR\Directed Studies\US-101 Data\Main Data\US-101-Main-Data\vehicle-trajectory-data\0750am-0805am\tra.txt' 

df=read_csv(location, names=['Vehicle ID','Frame ID','Total Frames','Global Time','Local X','Local Y','Global X','Global Y','Vehicle Length','Vehicle Width','Vehicle Class','Vehicle Velocity','Vehicle Acceleration','Lane Identification','Preceding Vehicle','Following Vehicle','Spacing','Headway']) 

df 
Out[41]: 
<class 'pandas.core.frame.DataFrame'> 
Int64Index: 1180598 entries, 0 to 1180597 
Data columns (total 18 columns): 
Vehicle ID    1180598 non-null values 
Frame ID    0 non-null values 
Total Frames   0 non-null values 
Global Time    0 non-null values 
Local X     0 non-null values 
Local Y     0 non-null values 
Global X    0 non-null values 
Global Y    0 non-null values 
Vehicle Length   0 non-null values 
Vehicle Width   0 non-null values 
Vehicle Class   0 non-null values 
Vehicle Velocity  0 non-null values 
Vehicle Acceleration 0 non-null values 
Lane Identification  0 non-null values 
Preceding Vehicle  0 non-null values 
Following Vehicle  0 non-null values 
Spacing     0 non-null values 
Headway     0 non-null values 
dtypes: float64(17), object(1) 

Wie Sie aus Out [41] sehen können, wurde die Datei nur lesen 1 Spalte haben. Was soll ich tun, damit Python weiß, dass meine Datei 18 Spalten hat, so dass sie so gelesen werden, wie sie sein sollen?

+0

pls eine Probe Ihrer Datei schreiben; Hast du das Trennzeichen angegeben? – Jeff

Antwort

5

Dies wird Ihre Datenmenge richtig importieren:

df = pd.read_csv(location, names=names, header=None, delim_whitespace=True) 
Verwandte Themen