文章目錄
-
-
一、我的需求
-
二、代碼
-
三、總結
一、我的需求
我想要excel 的最后1列由列表形式轉換為數值類型
可以看到最后一列有的是列表,有的直接是數值,想要整個列表中的內容都轉為數值類型
二、代碼
import openpyxl def write_excel_xlsx(): # 寫入數據准備 workbook = openpyxl.Workbook() sheet = workbook.active sheet.title = "優化后的參數" # 記錄寫的行數 write_row = 0 # 首先從excel中讀取數據 work_read = openpyxl.load_workbook("樣本優化.xlsx") sheet_read = work_read["優化后的參數"] # 將表中的所有行轉換為列表 rows_data = list(sheet_read.rows) # 逐行讀取 for row in rows_data: for i in range(len(row)): value = row[i].value if isinstance(value, str): sheet.cell(row=write_row + 1, column=i + 1, value=str(value[1:len(value) - 1])) else: sheet.cell(row=write_row + 1, column=i + 1, value=str(value)) write_row = write_row + 1 workbook.save("樣本優化-處理.xlsx") print("xlsx格式表格寫入數據成功!") write_excel_xlsx()
三、總結
-
將表中的所有行轉換為列表
# 將表中的所有行轉換為列表 rows_data = list(sheet_read.rows)
這一步挺重要,因為后面我們對具體的列數操作,這樣轉換更方便
-
那個列表在excel中是字符串的形式,所以需要對其單獨進行判斷
if isinstance(value, str): sheet.cell(row=write_row + 1, column=i + 1, value=str(value[1:len(value) - 1])) else: sheet.cell(row=write_row + 1, column=i + 1, value=str(value))
-
對這個行數需要注意,處理完一行需要對其遞增
歡迎關注公眾號:Python爬蟲數據分析挖掘,回復【開源源碼】免費獲取更多開源項目源碼
公眾號每日更新python知識和【免費】工具