How to read a pandas Series from a CSV file

This works. Squeeze still works, but it just won't work alone. The index_col needs to be set to zero as below

series = pd.read_csv('csvfile.csv', header = None, index_col = 0, squeeze = True)

Here is the way I've found:

df = pandas.read_csv('csvfile.txt', index_col=False, header=0);
serie = df.ix[0,:]

Seems like a bit stupid to me as Squeeze should already do this. Is this a bug or am I missing something?

/EDIT: Best way to do it:

df = pandas.read_csv('csvfile.txt', index_col=False, header=0);
serie = df.transpose()[0] # here we convert the DataFrame into a Serie

This is the most stable way to get a row-oriented CSV line into a pandas Series.

BTW, the squeeze=True argument is useless for now, because as of today (April 2013) it only works with row-oriented CSV files, see the official doc:

http://pandas.pydata.org/pandas-docs/dev/io.html#returning-series

Tags:

Pandas

Csv

Series