我目前正在学习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)
答案 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
值。