前面已經寫過 一篇 Python 對 excel 檔案的處理,需要的可以參考學習,本篇文章主要是記錄我實際操作時的一些問題。
我想要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)
這一步挺重要,因為後面我們對具體的列數操作,這樣轉換更方便
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))