首页 > 其他分享 >web自动化14--读取excel文件

web自动化14--读取excel文件

时间:2023-05-15 15:22:24浏览次数:51  
标签:web sheet -- self excel table data row

1、安装xlrd模块,

pip install xlrd,成功后

2、 打开exlce表格

data = xlrd.open_workbook('test.xlsx')

table = data.sheets()[0]           #  通过索引顺序获取sheet

table = data.sheet_by_index(0)     #  通过索引顺序获取
table = data.sheet_by_name(u'Sheet1')  # 通过名称获取

nrows = table.nrows  # 获取总行数
ncols = table.ncols  # 获取总列数

# 获取一行或一列的值,参数是第几行
print table.row_values(0)  # 获取第一行值
print table.col_values(0)  # 获取第一列值

 

3、在excel中,第一行为标题,也就是对应字典里面的key值,如:username,password

excel数据中有纯数字的话一定要设置单元格格式--》文本格式,要不然读取的数据是浮点数

1.读数据

  多个字典的list类型数据,第一行数据就是字典里的key值,从第二行开始一一对应value值

# coding:utf-8
import xlrd
class ExcelUtil():
    def __init__(self, Path, sName):
        self.data = xlrd.open_workbook(Path)
        self.table = self.data.sheet_by_name(sName)
        # 获取第一行作为key值
        self.keys = self.table.row_values(0)
        # 获取总行数
        self.rowNum = self.table.nrows
        # 获取总列数
        self.colNum = self.table.ncols
    def dict_data(self):
        if self.rowNum <= 1:
            print("总行数小于1")
        else:
            r = []
            j=1
            for i in range(self.rowNum-1):
                s = {}
                # 从第二行取对应values值
                values = self.table.row_values(j)
                for x in range(self.colNum):
                    s[self.keys[x]] = values[x]
                r.append(s)
                j+=1
            return r

if __name__ == "__main__":
    data = ExcelUtil("D:test.xlsx", "Sheet1")
    print data.dict_data()

2.写数据

from openpyxl import load_workbook
 """每次写入都会覆盖之前的内容"""
#加载excel,注意路径要与脚本一致
wb = load_workbook('test.xlsx')
#激活excel表
sheet = wb.active

#向excel中写入表头
sheet['a1'] = '序号'
sheet['b1'] = '姓名'
sheet['c1'] = '价格'
 
#向excel中写入对应的value
sheet.cell(row=2, column=1).value = '1'
sheet.cell(row=2, column=2).value = 'test1'
sheet.cell(row=2, column=3).value = 100
 sheet.cell(row=3, column=1).value = '2'
sheet.cell(row=3, column=2).value = 'test2'
sheet.cell(row=3, column=3).value = 200


wb.save('test.xlsx')

 

或者

 wb = load_workbook('test.xlsx')
# 激活excel表
sheet = wb.active
Data = [{"id": 1, "name": "test1", "price": 100}, {"id": 2, "name": "test2", "price": 200},
{"id": 3, "name": "test3", "price": 300}, ]
sheet.append(['序号', '姓名', '价格']) # 添加表头

[sheet.append([i["id"], i["name"], i["price"]]) for i in Data]
wb.save('test.xlsx')



 

标签:web,sheet,--,self,excel,table,data,row
From: https://www.cnblogs.com/SparkProgram/p/17401972.html

相关文章

  • 利用麻雀搜索算法SSA优化SVM的c和g,建立多列数据输入,单列数据输出的拟合预测建模,程序内
    利用麻雀搜索算法SSA优化SVM的c和g,建立多列数据输入,单列数据输出的拟合预测建模,程序内注释详细,直接替换数据就可以用,可以打印出多个常用的模型评价指标,不会替换数据的可以免费指导替换数据ID:6235676695227372......
  • 偏最小二乘算法PLS建立分类模型,二分类,多分类都可以使用,代码内有详细注释,直接替换数据
    偏最小二乘算法PLS建立分类模型,二分类,多分类都可以使用,代码内有详细注释,直接替换数据就可以使用,不会替换数据的可以给指导如何替换数据,带售后,。ID:9835674471110010......
  • CAS Server 搭建
    1、CASServer下载,我这里选择了5.3的版本,下载地址https://github.com/apereo/cas-overlay-template/tree/5.32、HTTPS证书生成,我是用JDK自带的keytool工具生成的,进入JDK安装目录,在bin目录下打开cmd,输入以下命令行就可以生成证书了keytool-genkey-aliascasserver-keya......
  • 自组织映射算法结合BP模型做SOMBP模型的多分类建模,数据是多变量输入,单变量输出做分类
    自组织映射算法结合BP模型做SOMBP模型的多分类建模,数据是多变量输入,单变量输出做分类预测,可以出分类预测图和混淆矩阵图,要求matlab版本在2018b及以上,。ID:3840674944404074......
  • 逃离塔科夫辅助:让你成为游戏中的高手
    随着游戏的发展,越来越多的玩家加入了逃离塔科夫的行列。但是,逃离塔科夫是一款非常具有挑战性的游戏,需要玩家具备很高的游戏技能和经验才能在游戏中获得胜利。为了帮助玩家更好地掌握游戏技巧,我们推出了逃离塔科夫辅助,让你成为游戏中的高手。逃离塔科夫辅助(https://tarko......
  • WebSocket 通信使用
    传送门:https://blog.csdn.net/FTEzreal/article/details/115245562传送门:https://juejin.cn/post/6844904016976035854......
  • 问鼎CodeXGLUE榜单,华为云UniXcoder-VESO-v1算法取得突破
    摘要:华为云PaaS技术创新团队基于UniXcoder模型,在公开测试数据集(CodeXGLUE)上的代码搜索任务评测结果上取得突破,在CodeXGLUE榜单上排名中第一。本文分享自华为云社区《代码语义搜索算法哪家强?华为云UniXcoder-VESO-v1算法取得突破,问鼎CodeXGLUE榜单第一名》,作者:华为云软件分析Lab......
  • Python注释补充之PE8规范
    PE8规范【一】什么是PE8规范PEP是PythonEnhancementProposal的缩写,通常翻译为“Python增强提案”。每个PEP都是一份为Python社区提供的指导Python往更好的方向发展的技术文档,其中的第8号增强提案(PEP8)是针对Python语言编订的代码风格指南。尽管我们可以在保证语法没有......
  • string方法
    str.charAt(下标)返回在指定位置的字符。varstr="HELLOWORLD";console.log(str.charAt(2));//Lstr.concat(str1,str2,str3...)连接两个或多个字符串varstr1="Hello";varstr2="world!";console.log(str1.concat(str2));//Helloworld!str.e......
  • 一种全局搜索策略的鲸鱼优化算法GSWOA对SVM的参数c和g做寻优,优化两个最佳参数,然后建立
    一种全局搜索策略的鲸鱼优化算法GSWOA对SVM的参数c和g做寻优,优化两个最佳参数,然后建立多维输入单维输出的预测模型,具体预测效果如下图所示,代码内有注释,直接替换数据就可以使用。ID:8150675088819963......