[問題] excel填入資料問題
各位好,目前正在使用python將沒有經過整理的raw data(csv檔案)自動填入到
整理好的表格(xlsx)
問題背景:在整理好的表格裡面會有算average以及t test的行數。
因此我想要在填入的時候如果遇到average和t test(有公式)
的那行數可以跳過然後填入到下一個空白單元格
問題描述:在遇到average和t test的時候數值有順利跳過,但是他會把average和
t test給算在迴圈裡面,導致我所有的數值沒有辦法完整的被填入
舉例:raw data長度是35,因此xlsx應該要填入35個數值,但是有4個average、t
test不應該被填入也不該被計算在迴圈裡面。但是實際上只有被填入了27個值
,後面8個都是空白的
workbook = load_workbook(file2)
sheet = workbook[sheet_name]
# 定義需要跳過的關鍵字列表
skip_keywords = ['ave.', 't-TEST', 't test']
fill_index = 0 # 用來標記數據填充的位置
for i in range(len_file1):
# 獲取當前單元格
current_cell = sheet.cell(row=row_index_file2 + 2, column=i + 2)
cell_value = current_cell.value
# 如果單元格是公式(以 '=' 開頭),跳過
if isinstance(cell_value, str) and cell_value.startswith('='):
continue
# 檢查是否需要跳過當前列,根據關鍵字匹配
if any(keyword in str(cell_value or '') for keyword in skip_keywords):
continue
# 如果單元格值是 None 或 '-',進行填充
if cell_value in [None, '-']:
try:
current_cell.value = column_c_file1.iloc[fill_index]
fill_index += 1 # 增加填充索引
except IndexError:
print(f"警告:索引 {i} 超出列範圍,無法填充!")
break
希望各位能提供我一點我的迴圈的問題出在哪裡,謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.189.230 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1737298510.A.7BA.html
→
01/20 08:42,
2天前
, 1F
01/20 08:42, 1F
Python 近期熱門文章
PTT數位生活區 即時熱門文章
16
75