Python教你如何对 Excel(xlxs文件) 表的读写和处理

文章目录

  •  

    • 一、我的需求

    • 二、代码

    • 三、总结

 

一、我的需求

我想要excel 的最后1列由列表形式转换为数值类型


可以看到最后一列有的是列表,有的直接是数值,想要整个列表中的内容都转为数值类型

二、代码

import openpyxldef 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知识和【免费】工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lyc2016012170

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值