前面已經寫過 一篇 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)
這一步挺重要,因為后面我們對具體的列數操作,這樣轉換更方便
- 那個串列在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))
- 對這個行數需要注意,處理完一行需要對其遞增
CSDN認證博客專家
神經網路
深度學習
Python
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/126496.html
標籤:其他
上一篇:我需要一個局域網的電腦時間同步的軟體,最好能精確到毫秒級,我網上找到一些,但是都不靠譜,請問你們有沒有,謝謝了!
下一篇:計算機網路協議方面的理解
