Python openpyxl:在2d列表中追加单元格值

时间:2017-03-09 16:11:46

标签: python arrays append 2d openpyxl

我目前正在学习Python。我正在使用Python35。 基本上我有一个包含固定数量的列和行(包含数据)的Excel工作表,我想使用append将这些值保存在2D列表中。

我目前将数据保存在一维列表中。这是我的代码:

import openpyxl
Values=[[]]

MaxColumn=sheet.max_column
MaxRow=sheet.max_row

for y in range (10,MaxRow):#Iterate for each row.
	for x in range (1,MaxColumn):#Iterate for each column.
		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)

2 个答案:

答案 0 :(得分:0)

您必须拥有一些重新定义Values对象的代码,但无论如何您只能list(sheet.values)

答案 1 :(得分: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,而int索引为list object值。