Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -97,21 +97,22 @@ def _clean_cell(x) -> str:
|
|
| 97 |
def choose_names_from_multiindex(mi: pd.MultiIndex) -> list[str]:
|
| 98 |
"""
|
| 99 |
3段ヘッダ(MultiIndex)から列名を選ぶ。
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
最後に重複を .1, .2… で解消。
|
| 103 |
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
names = []
|
| 105 |
for tpl in mi:
|
| 106 |
-
# tpl は (大, 中, 小)
|
| 107 |
-
if len(tpl)
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
c = ""
|
| 112 |
-
else:
|
| 113 |
-
a, b, c = (_clean_cell(tpl[0]), _clean_cell(tpl[1]), _clean_cell(tpl[2]))
|
| 114 |
-
name = c or b or a or "col"
|
| 115 |
names.append(name)
|
| 116 |
|
| 117 |
# 重複解消
|
|
@@ -126,6 +127,7 @@ def choose_names_from_multiindex(mi: pd.MultiIndex) -> list[str]:
|
|
| 126 |
out.append(f"{n}.{seen[n]}")
|
| 127 |
return out
|
| 128 |
|
|
|
|
| 129 |
# -------------------- 読み込みルール --------------------
|
| 130 |
# 0行目は削除し、1/2/3行目をヘッダ(= header=[1,2,3])
|
| 131 |
HEADER_ROWS = [1, 2, 3]
|
|
|
|
| 97 |
def choose_names_from_multiindex(mi: pd.MultiIndex) -> list[str]:
|
| 98 |
"""
|
| 99 |
3段ヘッダ(MultiIndex)から列名を選ぶ。
|
| 100 |
+
優先順: 中分類(第2段) → 小分類(第3段) → 大分類(第1段)。
|
| 101 |
+
すべて空なら 'col'。重複は .1, .2… を付与。
|
|
|
|
| 102 |
"""
|
| 103 |
+
def _clean_cell(x) -> str:
|
| 104 |
+
if x is None:
|
| 105 |
+
return ""
|
| 106 |
+
s = str(x).strip()
|
| 107 |
+
return "" if s.lower() == "nan" else s
|
| 108 |
+
|
| 109 |
names = []
|
| 110 |
for tpl in mi:
|
| 111 |
+
# tpl は (大, 中, 小) を想定
|
| 112 |
+
a = _clean_cell(tpl[0]) if len(tpl) >= 1 else ""
|
| 113 |
+
b = _clean_cell(tpl[1]) if len(tpl) >= 2 else ""
|
| 114 |
+
c = _clean_cell(tpl[2]) if len(tpl) >= 3 else ""
|
| 115 |
+
name = b or c or a or "col" # ★ 中 > 小 > 大
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
names.append(name)
|
| 117 |
|
| 118 |
# 重複解消
|
|
|
|
| 127 |
out.append(f"{n}.{seen[n]}")
|
| 128 |
return out
|
| 129 |
|
| 130 |
+
|
| 131 |
# -------------------- 読み込みルール --------------------
|
| 132 |
# 0行目は削除し、1/2/3行目をヘッダ(= header=[1,2,3])
|
| 133 |
HEADER_ROWS = [1, 2, 3]
|