#!/usr/bin/env python3 """分析Excel文件结构,查看合并单元格信息""" from openpyxl import load_workbook # 加载Excel文件 wb = load_workbook('data/data.xlsx') ws = wb['Sheet1'] print("=" * 80) print("合并单元格信息:") print("=" * 80) # 获取所有合并单元格 merged_cells = list(ws.merged_cells.ranges) print(f"总共有 {len(merged_cells)} 个合并单元格区域\n") # 筛选F列的合并单元格 f_column_merges = [] for merge in merged_cells: # 检查是否在F列 if merge.min_col == 6 and merge.max_col == 6: # F列是第6列 f_column_merges.append(merge) print(f"F列合并: {merge} (行{merge.min_row}到{merge.max_row})") print(f"\nF列合并单元格数量: {len(f_column_merges)}") print("\n" + "=" * 80) print("前10行数据预览 (F, G, H, I, O列):") print("=" * 80) print(f"{'行号':<6} {'F列(实收)':<15} {'G列(手续费)':<15} {'H列(订单号)':<20} {'I列(金额)':<15} {'O列(账户)':<20}") print("-" * 100) for row in range(1, min(11, ws.max_row + 1)): f_val = ws.cell(row, 6).value # F列 g_val = ws.cell(row, 7).value # G列 h_val = ws.cell(row, 8).value # H列 i_val = ws.cell(row, 9).value # I列 o_val = ws.cell(row, 15).value # O列 print(f"{row:<6} {str(f_val)[:15]:<15} {str(g_val)[:15]:<15} {str(h_val)[:20]:<20} {str(i_val)[:15]:<15} {str(o_val)[:20]:<20}") print(f"\n总行数: {ws.max_row}")