一篇文章帶你使用 Python搞定對 Excel 表的讀寫和處理(xlsx文件的處理)


文章目錄

  •  

    • 一、我的需求

    • 二、代碼

    • 三、總結

 

一、我的需求

我想要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()

 

 

三、總結

  1. 將表中的所有行轉換為列表

# 將表中的所有行轉換為列表
rows_data = list(sheet_read.rows)

 

 

這一步挺重要,因為后面我們對具體的列數操作,這樣轉換更方便

  1. 那個列表在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))

 




  1. 對這個行數需要注意,處理完一行需要對其遞增

歡迎關注公眾號:Python爬蟲數據分析挖掘,回復【開源源碼】免費獲取更多開源項目源碼

公眾號每日更新python知識和【免費】工具


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM