2017-03-09 13 views
0

現在、私はPythonを習得中です。私はPython35を使用しています。 基本的には、固定された数の列と行(データを含む)を持つExcelシートがあり、その値をappendを使用して2Dリストに保存したいとします。Python openpyxl:2dリストにセルの値を追加する

私は現在1Dリストにデータを保存しました。

import openpyxl 
 
Values=[[]] 
 

 
MaxColumn=sheet.max_column 
 
MaxRow=sheet.max_row 
 

 
for y in range (10,MaxRow):#Iterate for each row. 
 
\t for x in range (1,MaxColumn):#Iterate for each column. 
 
\t \t Values.append(sheet.cell(row=y,column=x).value) 
 
    
 
#I have tried with the following: 
 
Values[y].append(sheet.cell(row=y,column=x).value) 
 

 
Traceback (most recent call last): 
 
    File "<pyshell#83>", line 4, in <module> 
 
    Values[y].append(sheet.cell(row=y,column=x).value) 
 
AttributeError: 'int' object has no attribute 'append'

for x in range (1,MaxColumn): 
    #print(sheet.cell(row=y,column=x).value) 
    Values.append(sheet.cell(row=y,column=x).value) 

答えて

0

あなたはValuesオブジェクトを再定義するいくつかのコードを持っている必要がありますが、いずれにしてもあなただけlist(sheet.values)を行うことができます。これは私のコードです。

+0

'list(sheet.values)'はタプル(値)のリストを返します – stovfl

+0

これは要求されるものです。 –

0

は、以下のことを試してみてください。

# Define a list 
list_2d = [] 
# Loop over all rows in the sheet 
for row in ws.rows: 
    # Append a list of column values to your list_2d 
    list_2d.append([cell.value for cell in row]) 

print(list_2d) 

あなたのトレースバックエラー:

Values[y].append(
AttributeError: 'int' object has no attribute 'append' 

Values[y]はあなたのlist object指数yでそのint値、list objectではありません。

関連する問題