在Python中将Excel列动态存储到列表中
假设我有一个excel文件,如: 其中“序号”和“点”列保持不变,但其他列(名称)不断变化在Python中将Excel列动态存储到列表中,python,excel,list,variables,Python,Excel,List,Variables,假设我有一个excel文件,如: 其中“序号”和“点”列保持不变,但其他列(名称)不断变化 S.no Points Name1 Name2 Name3.... 1 1 14 12 11 2 3 17 12 12 另一个excel文件: S.no Points Name1 Name2 Name3 Name4 1 1 14 12 11 10 2 3 17 12 12
S.no Points Name1 Name2 Name3....
1 1 14 12 11
2 3 17 12 12
另一个excel文件:
S.no Points Name1 Name2 Name3 Name4
1 1 14 12 11 10
2 3 17 12 12 13
等等
我希望将每个“名称”列分别存储在一个列表中,因为每个excel文件中的名称列数不断变化。我不知道该如何处理这种情况
以下是我到目前为止所写的内容:
import xlrd
file_location= r'Location of the excel file'
workbook = xlrd.open_workbook(file_location)
sheet = workbook.sheet_by_index(0)
serial_no = []
for rows in range(sheet.nrows):
data = []
data = sheet.cell_value(rows,0)
serial_no.append(data)
points = []
for rows in range(sheet.nrows):
data = []
data = sheet.cell_value(rows,1)
points.append(data)
size_of_name_cols = sheet.ncols-2
names=[]
for name_col_no in range(0,size_of_name_cols):
name_col_no = name_col_no + 2
for rows in range(sheet.nrows):
data = []
data = sheet.cell_value(rows,name_col_no)
names.append(data)
print(names)
这为第一个excel文件提供了输出:
['Name1', 14.0, 17.0, 'Name2', 12.0, 12.0, 'Name3', 11.0, 12.0]
我希望将每个列表自动存储到列表中,以便在任何其他操作需要时调用该列表:
['Name1', 14.0, 17.0]
['Name2', 12.0, 12.0]
['Name3', 11.0, 12.0]
PS:对Python不是很有经验,对于我可能犯的任何错误,我深表歉意。如果列保留名称,您可以按名称区分列,然后对该列执行任何操作。请给我一个如何执行该操作的示例。您可以迭代Excel文件的行,但最好迭代列。我使用的是openpyxl库,但xlrd可能有类似的功能,如果不是交换机的话。获取工作表-ws=wb.active使用ws['A1']获取标题行的单元格值。值,然后您就知道要在其中执行任何操作的列。