Python教你如何对 Excel(xlxs文件) 表的读写和处理
文章目录
-
-
一、我的需求
-
二、代码
-
三、总结
-
一、我的需求
我想要excel 的最后1列由列表形式转换为数值类型

可以看到最后一列有的是列表,有的直接是数值,想要整个列表中的内容都转为数值类型
二、代码
import openpyxldef write_excel_xlsx():# 写入数据准备workbook = openpyxl.Workbook()sheet = workbook.activesheet.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].valueif 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 + 1workbook.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知识和【免费】工具

耐得住寂寞,才能登得顶
Gitee码云:https://gitee.com/lyc96/projects

浙公网安备 33010602011771号