2015-10-07 53 views
0

我正在使用xlrd進行數據提取,並且我爲我的項目提取了8列輸入。每列數據大約有100行。我的代碼如下:xlrd數據提取python

wb = xlrd.open_workbook('/Users/Documents/Sample_data/AI_sample.xlsx') 

sh = wb.sheet_by_name('Sample') 

x1 = sh.col_values(+ 0)[1:] 
x2 = sh.col_values(+ 1)[1:] 
x3 = sh.col_values(+ 2)[1:] 
x4 = sh.col_values(+ 3)[1:] 
x5 = sh.col_values(+ 4)[1:] 
x6 = sh.col_values(+ 5)[1:] 
x7 = sh.col_values(+ 6)[1:] 
x8 = sh.col_values(+ 7)[1:] 

現在我想創建一個輸入數組,給出8列的每一行。 對於例如:如果這是我的數據的8列

x1 x2 x3 x4 x5 x6 x7 x8 
1 2 3 4 5 6 7 8 
7 8 6 5 2 4 8 8 
9 5 6 4 5 1 7 5 
7 5 6 3 1 4 5 6 

我想是這樣的:X1,X2,X3,X4,X5,X6([1,2,3,4,5,6,7 ,8])爲所有100 +行。

我本來可以做一個明智的提取,但是,這樣做對於100多行實際上非常困難。那我該怎麼做。我也明白,它可以使用np.array完成。但是我不知道怎麼做。

回答

0

我發現這段代碼是非常有用的

X = np.array([x1, x2, x3, x4, x5, x6, x7, x8]) 
return X.T 
1

您也可以嘗試openpyxl類似xlrd

from openpyxl import load_workbook,Workbook 
book = load_workbook(filename=file_name) 
sheet = book['sheet name'] 
for row in sheet.rows: 
    col_0   = row[0].value 
    col_1   = row[1].value 

東西我以前喜歡openpyxl而不是xlrd