2013-09-03 14 views
5

Sto usando Enthought Canopy (un insieme di molti diversi pacchetti della libreria Python, ad esempio NumPy, Pandas, ecc.) Per l'analisi dei dati. Sto cercando di leggere un file di testo e di creare un dataframe al di fuori di esso. Il file di testo ha 1180598 righe e 18 colonne. Tutte le colonne contengono numeri. Ho scritto seguente codice per la lettura e la denominazione di colonne di dati:Come leggere un file di testo di grandi dimensioni 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) 

Come si può vedere da Out [41], il file è stato letto di avere solo 1 colonna. Cosa devo fare per far sapere a Python che il mio file ha 18 colonne in modo che venga letto come dovrebbe essere?

+0

pls inviare un campione del file; hai specificato il separatore? – Jeff

risposta

5

Ciò importare il set di dati in modo corretto:

df = pd.read_csv(location, names=names, header=None, delim_whitespace=True) 
Problemi correlati