讀取數據:
先創建一個xlsx文件用來測試讀取,格式如下

import openpyxl
from openpyxl.utils import get_column_letter
def read_data_line(file_name, sheet_name): """ 從excel中讀取數據,保存到list中 :param file_name: :param sheet_name: :return: """ # 打開文件 wb = openpyxl.load_workbook(file_name) # 選擇表單 sh = wb[sheet_name] # 按行讀取數據轉化為列表 rows_data = list(sh.rows) # 打印一下驗證是否讀取成功 print(len(rows_data)) # 讀取表頭信息 titles = [] for title in rows_data[0]: titles.append(title.value) # 打印一下驗證是否讀取成功 print(titles) # 讀取內容數據 warnings = [] for warning in rows_data[1:]: data = [] for cell in warning: data.append(cell.value) # print(data) warnings.append(data) # 打印讀取的數據 print(warnings)
def write_to_excel(increment_data, table_title): """ 將增量數據導出到excel中 :param increment_data: :param table_title: :return: """ # 創建一個工作表 wb = openpyxl.Workbook() # 創建一個數據庫的sheet表單 ws = wb.active # 設置sheet名 ws.title = '數據庫' # 設置寬度 width = 30 # 寫入表頭(row=1,col=1)開始的。數組是從0開始的,所以要加1 for col in range(len(table_title)): c = col + 1 ws.cell(row = 1, column = c).value = table_title[col] # 設置列寬 for i in range(1, ws.max_column + 1): ws.column_dimensions[get_column_letter(i)].width = width # 數據導出到文件中 for row in range(len(increment_data)): ws.append(increment_data[row]) # 保存為一個xlsx格式的文件 wb.save('test.xlsx')