想把 Excel 內出現的生難國字挑出來,想到可以用 Python 來處理這個問題
希望出現次數最少的就是使用率比較少的國字
import openpyxl from collections import Counter from datetime import datetime def count_characters(text): # 使用 Counter 計算每個字元的出現次數 return Counter(text) def process_excel_file(file_path): # 讀取 Excel 文件 wb = openpyxl.load_workbook(file_path) # 創建一個 Counter 來統計所有字元的出現次數 total_counter = Counter() # 遍歷每個工作表 for sheet_name in wb.sheetnames: sheet = wb[sheet_name] # 遍歷每個儲存格 for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, min_col=1, max_col=sheet.max_column, values_only=True): for cell_value in row: if cell_value is not None and isinstance(cell_value, str): # 更新總計字元的出現次數 total_counter.update(count_characters(cell_value)) # 關閉 Excel 文件 wb.close() return total_counter def save_result_to_excel(result_counter): # 獲取現在的日期和時間 current_datetime = datetime.now().strftime("%Y%m%d_%H%M%S") # 創建結果 Excel 文件 result_wb = openpyxl.Workbook() result_sheet = result_wb.active # 寫入標題列 result_sheet.append(["字元", "出現次數"]) # 寫入結果數據 for char, count in sorted(result_counter.items(), key=lambda x: x[1]): result_sheet.append([char, count]) # 儲存結果 Excel 文件 result_filename = f"出現次數_{current_datetime}.xlsx" result_wb.save(result_filename) # 關閉結果 Excel 文件 result_wb.close() print(f"結果已保存為 {result_filename}") if __name__ == "__main__": # 詢問 Excel 來源位置 excel_file_path = input("請輸入 Excel 來源位置: ") # 處理 Excel 文件並獲取統計結果 result_counter = process_excel_file(excel_file_path) # 保存結果到 Excel 文件 save_result_to_excel(result_counter)
Tags
Python