dynamical从Excel Workb中的工作表构建Python列表

2024-10-01 13:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试压缩我以前用python编写的一些代码。我有一些绘制出来的代码,可以在excel工作簿中循环许多查找表。工作簿中大约有20个工作表包含查阅表格。我想循环查看每个查找表中的值并将它们添加到它们自己的列表中。我的现有代码如下所示:

test1TableList = []
for row in arcpy.SearchCursor(r"Z:\Excel\LOOKUP_TABLES.xlsx\LookupTable1$"):
    test1TableList.append(row.Code)

test2TableList = []
for row in arcpy.SearchCursor(r"Z:\Excel\LOOKUP_TABLES.xlsx\LookupTable1$"):
    test2TableList.append(row.Code)

test3TableList = []
for row in arcpy.SearchCursor(r"Z:\Excel\LOOKUP_TABLES.xlsx\LookupTable1$"):
    test3TableList.append(row.Code)

test4TableList = []
for row in arcpy.SearchCursor(r"Z:\Excel\LOOKUP_TABLES.xlsx\LookupTable1$"):
    test4TableList.append(row.Code)

test5TableList = []
for row in arcpy.SearchCursor(r"Z:\Excel\LOOKUP_TABLES.xlsx\LookupTable1$"):
    test5TableList.append(row.Code)

亚达,亚达

我想压缩代码(可能在函数中)。在

要解决的问题:

  1. 图纸名称都不同。我需要遍历excel工作簿中的每个工作表,以便a)获取sheet对象,b)将工作表名称作为python列表变量名的一部分
  2. 我希望每个列表都保留在内存中,以便在代码中进一步使用

我一直在尝试这样的方法,但python列表变量似乎不在内存中:

^{pr2}$

我已经为此工作了一段时间了,我毫不怀疑,在这一点上,我想我的解决方案,但我在一个障碍。欢迎推荐!在


Tags: 代码in列表fortablescodelookupxlsx
2条回答

不确定是否最适合您,但您可以使用pandas将您的工作表导入到数据帧中。在

from pandas.io.excel import ExcelFile
filename = 'linreg.xlsx'
xl = ExcelFile(filename)

for sheet in xl.sheet_names:
    df = xl.parse(sheet)
    print df

不用繁育清单,而是用字典来收集每页的数据:

import arcpy
from openpyxl import load_workbook

wb = load_workbook(r"Z:\Excel\LOOKUP_TABLES.xlsx")

sheets = {}
for i in wb.worksheets:
    filepath = r"Z:\Excel\LOOKUP_TABLES.xlsx" + "\\" + i.title + "$"
    with arcpy.da.SearchCursor(filepath, '*') as cursor:
        sheets[i.title] = [row[0] for row in cursor]

print sheets

相关问题 更多 >