一篇文章带你使用 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()
三、总结
-
将表中的所有行转换为列表
# 将表中的所有行转换为列表 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