fix: include all headers in product info

This commit is contained in:
2026-07-20 16:31:21 +08:00
parent c79d738082
commit b7767ba9ff
+4 -5
View File
@@ -150,16 +150,15 @@ def main(driver: WebDriver, logger = logging.getLogger('main')):
for col in range(1, self.wb.active.max_column + 1): for col in range(1, self.wb.active.max_column + 1):
value = str(self.wb.active.cell(1, col).value) value = str(self.wb.active.cell(1, col).value)
if value in keys: self.headers[value] = col self.headers[value] = col
for row in range(1, self.wb.active.max_row + 1): for row in range(1, self.wb.active.max_row + 1):
for key in keys: for key, col in map(lambda k: (k, self.headers[k]), keys):
col = self.headers[key]
value = str(self.wb.active.cell(row, col).value) value = str(self.wb.active.cell(row, col).value)
self.indices.setdefault(key, dict())[value] = row self.indices.setdefault(key, dict())[value] = row
def at(self, by: str, index) -> dict: def at(self, axis: str, index) -> dict:
if (a := self.indices.get(by)) is None or (b := dict.get(a, index)) is None: return dict() if (a := self.indices.get(axis)) is None or (b := dict.get(a, index)) is None: return dict()
return { k: self.wb.active.cell(b, c).value for k, c in self.headers.items() } return { k: self.wb.active.cell(b, c).value for k, c in self.headers.items() }
try: try: