2015-10-18 68 views
1

我有這個foll。文本文件:獲取熊貓數據框中的標題行

line_1 
line_2 
line_3 
Col_A Col_B Col_C 
1.2  33  45 
23  12  55 

這是我如何讀它:

df = pandas.read_table(file_name, skiprows=3, sep=' ', skipinitialspace=True) 

有沒有什麼辦法可以訪問只是標題行即? 'Col_A Col_B Col_C'作爲一個字符串?我不想使用df.columns.values,因爲它返回一個數組。我想要保存不同列之間的間距來獲取標題行。

+0

您的意思是'df.columns.str.join('')或'''.join(df.columns)'如果你想要一個str – EdChum

回答

1

你可以這樣做:

In [6]: 
' '.join(df) 

Out[6]: 
'Col_A Col_B Col_C' 

這工作,因爲從DF返回的迭代是其是字符串列,所以你可以只join他們與你分離。

編輯

如果你希望得到您的頭球攻門被存儲什麼,那麼你可以做到以下幾點:

In [8]: 
df = pd.read_table(io.StringIO(t), skiprows=3, header=None, nrows=1) 
df 

Out[8]: 
         0 
0 Col_A Col_B Col_C 

In [10]: 
df.iloc[0][0] 

Out[10]: 
'Col_A Col_B Col_C' 

所以這並不指定一個分隔符,因此會尋找逗號如果沒有,那麼整個標題行將被讀作一個列值,那麼您可以通過索引它來獲得行值,如上所示

+0

對不起,我應該更清楚了。我想保留Col_A,Col_B和Col_C之間的空格數量。使用''.join不會保留 – user308827

+0

@ user308827將標題行添加到數據框時,每個顏色中是否保留了sapces?什麼是數據框的分隔符?它是否由空格分隔? – pelumi

+0

既然你讀了你的csv並指定了分隔符,那麼你就失去了原來的空間,你可以用下面的方法做到這一點:'df = pandas.read_table(file_name,skiprows = 3,header = None,nrows = 1)'這個wlll創建一個單行df,只有你的頭文件作爲數據行,那麼你可以只用'df.iloc [0] [0]'將頭文件作爲字符串獲取 – EdChum