zoukankan      html  css  js  c++  java
  • 一篇文章带你使用 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知识和【免费】工具

    耐得住寂寞,才能登得顶
    Gitee码云:https://gitee.com/lyc96/projects
  • 相关阅读:
    error C2440: 'initializing' : cannot convert from 'const char [11]' to 'ATL::CStringT<BaseType,Strin
    DB1:数据库的创建和文件的修改
    Django之Form表单
    Django内置的分页模块
    Cookie和Session
    AJAX使用说明书 基础
    JSON和Django内置序列化
    django之urls系统
    Django之views系统
    模板语言
  • 原文地址:https://www.cnblogs.com/chenlove/p/13733910.html
Copyright © 2011-2022 走看看