精华内容
下载资源
问答
  • 利用python在excel中画图一、前言1.1、实现效果1.2、需要用到的库的安装二、代码分开讲解2.1、对象的定义以及初始化2.2、对象的方法1:行高列宽调整,以防止图像变形2.3、对象的方法2:10进制转化为16进制2.4、对象...
  • ejsExcel是一款国人开发的、Node.js应用程序使用我们预先设置好的Excel模板导出Excel表格的模板引擎。Excel模板导出后Github地址ejsExcel如果因为众(ni)所(dong)周(de)知的原因打不开github,没有关系,它的语法...

    什么是ejsExcel?

    ejsExcel是一款国人开发的、在Node.js应用程序中使用我们预先设置好的Excel模板导出Excel表格的模板引擎。

    Excel模板

    导出后

    Github地址

    ejsExcel

    如果因为众(ni)所(dong)周(de)知的原因打不开github,没有关系,它的语法很简单,都是一些对Excel模板格式的定义:

    这篇文章是我在工作中因为业务需要,用到了ejsExcel这个模板引擎,觉得很不错,但是坑也不少。而网上相关的资料又太少,所以趁此机会总结了一下我的踩坑经历。

    我是在Vue.js这个前端框架中用到的ejsExcel,由于我本人并不是专业做前端开发的,我会尽量的说清楚,如果有些地方写的不是太专业的话,还请见谅!

    第一步:安装ejsExcel

    npm install ejsexcel

    安装完依赖包之后是放在xxx/node_modules/ejsexcel目录下的,核心文件是ejsExcel.js,所以如果想要使用该模板引擎,必须引入该文件:

    import Excel from 'exceljs'

    踩坑一:

    安装完之后,官方是给了一个测试案例的,放在ejsexcel/test目录下,我建议初学者先不要放在实际项目中使用,自己先另开一个进程运行一下测试案例。

    在github中,作者给出方法是在test目录下运行test.bat这个文件,经过我实际的测试,该命令在windows系统中,需要使用

    node test.bat

    命令才可以运行成功,而在Mac中,是运行不了的。

    如果要在Mac端运行,使用

    node testExcel.js

    运行即可。

    测试案例很简单,当你看懂测试案例是如何运作的之后剩下的就没有问题了,没看懂的也没关系,以我们上面运行的testExcel.js为例:

    怎么样,很简单吧!

    第二步:编写模板

    根据自己的业务逻辑,将你要导出的数据按照上面的语法在Excel中写好,这一步不难,只是有点烦,需要你有点耐心。

    编写好模板之后,可以将它放到你的项目中去,具体放在哪里随便你,但是最好不要离核心代码太远,毕竟我们在渲染数据时是需要读取模板路径的,放的路径太深,麻烦的还是自己。

    第三步:获取数据源

    像test中的测试例子,都是一些假数据,但是在实际的开发中我们需要根据需求,动态的获取数据和导出数据。

    我的做法是将核心文件的引入、数据的获取、Excel模板的渲染分装成三个部分。然后再使用export default导出这些方法,使其可以被全局调用。

    在Vue中,我做了一个导出按钮,当点击这个button时,触发方法,去获取我们data{}中的数据,获取到数据后作为参数,传入我们封装好的数据源方法中

    然后在getMachiningData方法中获取参数,并格式化。

    第四步:使用数据渲染模板

    再调用renderDataUseTemp方法,将格式化好的数据传入,进行数据的渲染:

    保存的路径是你自己定的,你也可以自己写一个方法,动态的选择文件渲染好之后的存储路径。

    大概就是这么多,业务逻辑方面其实不难,可能就是在制作Excel模板时需要一点耐心和细心。

    上面的这些都是我自己在项目中的代码,请千万不要局限于我写的代码,思路最重要,要根据实际情况来处理业务。只要思路理清了,问题就解决一大半了。

    以上。

    感谢ejsExcel的作者:Sail、辐毂

    Git中有他们的QQ群以及捐赠入口,希望各位不差钱的小伙伴们可以多多支持开源作者。^_^

    展开全文
  • 在python自动化,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件,不但工作量大,要是以后再次遇到类似批量数据操作还会写在python文件吗?应对这一问题,可以将数据写...

    在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似批量数据操作还会写在python文件中吗?

    应对这一问题,可以将数据写excel文件,针对excel 文件进行操作,完美解决。

    本文仅介绍python对excel的操作

    安装xlrd 库pip install xlrd

    笔者在安装时使用了 pip3 install xlrd

    原因:笔者同时安装了python2 和 python3

    如果pip的话会默认将库安装到python2中,python3中不能直接调用。

    那么到底是使用pip 还是pip3进行安装呢?

    如果系统中只安装了Python2,那么就只能使用pip。

    如果系统中只安装了Python3,那么既可以使用pip也可以使用pip3,二者是等价的。

    如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用。

    Xlrd 库简单的使用

    以如下excel文件为例进行操作

    文件名为demo,有两个sheet,名为工作表1和工作表2

    工作表1中有如下数据

    简单的使用# coding=utf-8

    import xlrd

    # 打开文件

    data = xlrd.open_workbook('file/demo.xlsx')

    # 查看工作表

    data.sheet_names()

    print("sheets:" + str(data.sheet_names()))

    # 通过文件名获得工作表,获取工作表1

    table = data.sheet_by_name('工作表1')

    # 打印data.sheet_names()可发现,返回的值为一个列表,通过对列表索引操作获得工作表1

    # table = data.sheet_by_index(0)

    # 获取行数和列数

    # 行数:table.nrows

    # 列数:table.ncols

    print("总行数:" + str(table.nrows))

    print("总列数:" + str(table.ncols))

    # 获取整行的值 和整列的值,返回的结果为数组

    # 整行值:table.row_values(start,end)

    # 整列值:table.col_values(start,end)

    # 参数 start 为从第几个开始打印,

    # end为打印到那个位置结束,默认为none

    print("整行值:" + str(table.row_values(0)))

    print("整列值:" + str(table.col_values(1)))

    # 获取某个单元格的值,例如获取B3单元格值

    cel_B3 = table.cell(3,2).value

    print("第三行第二列的值:" + cel_B3)

    运行后结果

    项目中使用

    获得所有的数据# coding=utf-8

    import xlrd

    def read_xlrd(excelFile):

    data = xlrd.open_workbook(excelFile)

    table = data.sheet_by_index(0)

    for rowNum in range(table.nrows):

    rowVale = table.row_values(rowNum)

    for colNum in range(table.ncols):

    if rowNum > 0 and colNum == 0:

    print(int(rowVale[0]))

    else:

    print(rowVale[colNum])

    print("---------------")

    # if判断是将 id 进行格式化

    # print("未格式化Id的数据:")

    # print(table.cell(1, 0))

    # 结果:number:1001.0

    if __name__ == '__main__':

    excelFile = 'file/demo.xlsx'

    read_xlrd(excelFile=excelFile)

    结果

    如果在项目中使用则可将内容方法稍为做修改,获得所有的数据后,将每一行数据作为数组进行返回# coding=utf-8

    import xlrd

    def read_xlrd(excelFile):

    data = xlrd.open_workbook(excelFile)

    table = data.sheet_by_index(0)

    dataFile = []

    for rowNum in range(table.nrows):

    # if 去掉表头

    if rowNum > 0:

    dataFile.append(table.row_values(rowNum))

    return dataFile

    if __name__ == '__main__':

    excelFile = 'file/demo.xlsx'

    print(read_xlrd(excelFile=excelFile))

    结果

    展开全文
  • 本文的目的是展示一些常见的Excel任务,以及如何在python pandas执行类似...在excel里,可能用公式是sum(A2:E2)。 在这里,这功能就可以用pandas的dataframe来解决。这里简单说下dataframe,我们简单认为,dataframe

    本文的目的是展示一些常见的Excel任务,以及如何在python pandas中执行类似的任务。例子微不足道,但重要的是通过这个例子来循序渐进的介绍pandas简单到复杂的功能。展示pandas如何利用Python的完整的模块系统做一些简单的文字处理。

    自动求和

    数据如下:
    在这里插入图片描述
    第1步,求出每一行数据的和,并作为一个新列附加到数据中。在excel里,可能用公式是sum(A2:E2)。

    在这里,这功能就可以用pandas的dataframe来解决。这里简单说下dataframe,我们简单认为,dataframe就是对应了excel的数据结构,我们操作的时候,就可以认为dataframe就是对应excel的操作。

    第2步,对P1~P5的每一列做一个求和。在excel里是用公式,SUM(G2:G16).python对应解决方案是用 pandas的对应列,然后直接求sum即可。

    第3步,对第一列求和,平均值,最小值,最大值。

    程序逻辑如下,读入excel,然后按行求和,把求出所有行的和作为一个新列加到数据里,为防止破坏原始数据,写入一个新的excel文件,接着在python运行结果里显示对数据的操作结果。

    程序如下:

    在这里插入图片描述
    运行结果如下:

    在这里插入图片描述
    让我们看看新生成的excel:

    在这里插入图片描述
    只需要这么几行代码,就完成了读取excel,然后对P1,P2,P3,P4,P5求和,平均值,最小值,最大值,并写入新文件的功能。

    第17,18行代码,把求各行和的结果写入一个新的excel文件,名字为newxls.xls,并指定写入第一个名为0的工作表中。

    其中14行代码中df.head()使用head()函数查看列表前几行数据(默认是前5行),如果我在括号里写3,结果只会显示前3行,如下:

    在这里插入图片描述

    了解更多分析及数据抓取可查看:
    http://cloud.yisurvey.com:9081/html/d8acf20b-342f-4806-8dcc-5e6a8d00881d.html?ly=csdn
    本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
    特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

    展开全文
  • 因为需要读取LCZ分类Excel中的多标签,正在学习如何操作。记录一波~ 借鉴代码连接:零基础使用Python读写处理Excel表格 pyhton版本:3.7 操作界面:pycharm 运行平台:远程GPU(太难了…一切尽摸索之中) 要先学习...

    因为需要读取LCZ分类Excel中的多标签,正在学习如何操作。记录一波~

    1、要先学习怎么在pycharm上完成远程操作

    Terminal

    Python的交互式模式,可以直接输入代码,执行,并得到结果。

    Python Console

    命令行模式,与系统的CMD一样,运行各种系统命令。
    感觉与ssh中直接运用Linux语法是一样的。

    2、代码运行

    借鉴代码连接:零基础使用Python读写处理Excel表格
    pyhton版本:3.7
    操作界面:pycharm
    运行平台:远程GPU(太难了…一切尽在摸索之中)

    先在Python Console中安装好库
    pip install xlrd
    
    运行读取代码
    import xlrd
    
    #打开excel文件
    def open_excel(file='test.xlsx'):
        try:
            data = xlrd.open_workbook(file)
            return data
        except Exception as e:
            print(str(e))
    
    #根据名称获取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的索引  ,by_name:Sheet1名称
    def excel_table_byname(file='test.xlsx',colnameindex=0,by_name='sheet1'):
        data = open_excel(file) # 打开excel文件
        table = data.sheet_by_name(by_name) #根据sheet名字来获取excel
        nrows = table.nrows #行数
        colnames = table.row_values(colnameindex) #某一行数据
        list = [] #装读取结果的序列
        for rownum in range(0,nrows): #遍历每一行的内容
            row = table.row_values(rownum) #根据行号获取行
            if row: #如果行存在
                app = [] #一行的内容
                for i in range(len(colnames)): #一列列地读取行的内容
                    app.append(row[i])
                list.append(app) #装载数据
        return list
    
    def main():
        tables = excel_table_byname()
        for row in tables:
            print(row)
    
    if __name__=="_main_":
        main()
    
    遇到的问题
    1. 代码运行没有错误,但是结果没有显示。
      解决方法:因为main的左右两侧也是要两个_ 的。
    2. 另一个报错:No sheet named <‘sheet1’>
      解决方法:把sheet1的名字改成别的就行了。

    3、更新一下代码

    import xlrd
    
    def open_excel(file='wpaa.xlsx'):  #感觉最好用绝对路径,比相对路径更保险点
        try:
            data = xlrd.open_workbook(file)
            return data
        except Exception as e:
            print(str(e))
    
    
    def excel_table_byname(file='wpaa.xlsx', colnameindex=0, by_name='Sheet1'):
        data = open_excel(file)  # 打开excel文件
        table = data.sheet_by_name(by_name)  # 根据sheet名字来获取excel
        nrows = table.nrows  # 行数
        colnames = table.row_values(colnameindex)  # 某一行数据
        list = []  # 装读取结果的序列
        for rownum in range(0, nrows):  # 遍历每一行的内容
            row = table.row_values(rownum)  # 根据行号获取行
            if row:  # 如果行存在
                app = []  # 一行的内容
                for i in range(len(colnames)):  # 一列列地读取行的内容
                    app.append(row[i])
                list.append(app)  # 装载数据
        return list
    
    
    def main():
        tables = excel_table_byname()
        list_image = []
        list_label = []
        list_label_1 = []
        for row in tables:
            list_image.append(row[2])
            for i in row[5:22]:
                if i == "null":
                    list_label_1.append(0)
                else:
                    list_label_1.append(1)
            list_label.append(list_label_1)
            list_label_1 = []
    
        return list_image, list_label
    
    
    if __name__ == "__main__":
        image, label = main()
        print(image)
        print(label)
    

    对行列读取中,只读取图片的路径与每个图片中的多标签。在17类标签中,当显示null则用0表示,反之显示为LCZ1、LCZ2、…、LCZG则显示为1。

    展开全文
  • 在python如何写excel发布时间:2020-07-09 15:13:51来源:亿速云阅读:91作者:Leah这篇文章运用简单易懂的例子给大家介绍在python如何写excel,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能...
  • 前言大家好,又到了Python办公自动化系列。...需求描述你是乙方建筑公司,手上有一份空白合同模板的Word文件,如下图: 另外还有一份Excel合同信息表,其中是所有甲方(发包人)合同需要填写的内容 可见一...
  • 由于项目需要处理大量的数据,这些基础数据被存储在Excel表格,团队运用Python强大的数据处理能力进行了数据整理和数据清洗的工作。全文共3376个字,预计阅读约15分钟!怎么又是python!!!【好牛皮的样子】...
  • 为什么要学会使用Excel在机器学习模型的建立,不得不借助于Excel强大的统计分析能力,这个时候就牵涉到了如何将python直接处理得到的数据存入excel表格当中以及获取表格的数据进行分析,简单的说,学会使用Python...
  • 需求描述你是乙方建筑公司,手上有一份空白合同模板的Word文件,如下图:另外还有一份Excel合同信息表,其中是所有甲方(发包人)合同中需要填写的内容可见一行为一个公司的全部信息,现在需要把Excel中每一...
  • 作者 | 周志鹏责编 | 刘静据不靠谱的数据来源统计,学习了Pandas的同学,有超过60%仍然投向了Excel的怀抱,之所以做此下策,多半是因为刚开始用Python处理数据时,选择想要的行和列实在太痛苦,完全没有Excel想要...
  • 最近写项目,刚好要运用excel表格的一些读写,顺便总结一下我以前学过的几个关于表格的操作。写项目,经常会见到页面数据导出到表格,同时,也会有经常表格填写测试用例,然后获取数据来做自动化...
  • 说到Python很多人的第一反应就是大数据或者人工智能的相关运用,又或者是爬虫和网站开发领域的应用,其实还有一个用途非常广泛的应用场景就是自动化办公,通过python脚本提升工作效率,今天就简单谈谈Python在工作怎样...
  • 我看了一下任务,并不难,就是从扫描文件取出需要的信息,并整理到excel,只是扫描文件比较多,有100多份,比较费时间。这时,我第一时间想到的,就是借助python来做,这正是发挥它作用的时...
  • 前言 大家好,又到了Python办公自动化系列。 今天我们继续分享一个真实的办公自动化需求:如何使Python+Excel+...可见一行为一个公司的全部信息,现在需要把Excel中每一个公司的信息填入空白Word合同模板中,生成各公
  • 由于项目需要处理大量的数据,这些基础数据被存储在Excel表格,团队运用Python强大的数据处理能力进行了数据整理和数据清洗的工作。全文共3376个字,预计阅读约15分钟!怎么又是python!!!【好牛皮的样子】...
  • 作者 | 周志鹏责编 | 刘静据不靠谱的数据来源统计,学习了Pandas的同学,有超过60%仍然投向了Excel的怀抱,之所以做此下策,多半是因为刚开始用Python处理数据时,选择想要的行和列实在太痛苦,完全没有Excel想要...
  • 最近写项目,刚好要运用excel表格的一些读写,顺便总结一下我以前学过的几个关于表格的操作。写项目,经常会见到页面数据导出到表格,同时,也会有经常表格填写测试用例,然后获取数据来做自动化...
  • 为什么要学会使用Excel在机器学习模型的建立,不得不借助于Excel强大的统计分析能力,这个时候就牵涉到了如何将python直接处理得到的数据存入excel表格当中以及获取表格的数据进行分析,简单的说,学会使用Python...
  • 1. 明确任务最近学习过程... 在python中读取excel文件(《都挺好》弹幕源数据.xlsx)提取出弹幕内容2. 对弹幕内容文本进行结巴分词,设置并过滤掉停用词3. 使用wordcloud 将分词得到的词汇统计绘制词云图涉及难点...
  • 生活常常因日常工作,记录统计方面需频繁处理较多 Excel 表格,这部分工作虽可由人工完成,但这样会显得有些繁琐且可能存在偏差,遂闲时查阅了是否有相关基于python处理Excel表格的学习文档,后获知这主要可以...
  • 作者 | 周志鹏责编 | 刘静据不靠谱的数据来源统计,学习了Pandas的同学,有超过60%仍然投向了Excel的怀抱,之所以做此下策,多半是因为刚开始用Python处理数据时,选择想要的行和列实在太痛苦,完全没有Excel想要...
  • 计算机应用毕业论文第八篇:日常工作问题处理Python程序的运用摘要:Python是一门简单、实用而且有趣的百搭款...本文针对Python在日常工作的应用,将介绍如何灵活应用Python操作Excel及获取网站信息,使得我们的...
  • 需求描述你是乙方建筑公司,手上有一份空白合同模板的Word文件,如下图:另外还有一份Excel合同信息表,其中是所有甲方(发包人)合同中需要填写的内容可见一行为一个公司的全部信息,现在需要把Excel中每一...
  • Python最详细的Excel操作方式,你值得拥有!

    万次阅读 多人点赞 2019-02-23 19:26:16
    机器学习模型的建立,不得不借助于Excel强大的统计分析能力,这个时候就牵涉到了如何将python直接处理得到的数据存入excel表格当中以及获取表格的数据进行分析,简单的说,学会使用Python操作Excel文件后,可以...
  • 前几天小编写了两篇利用Python采集网易云歌词和采集网易云音乐歌曲文章,相信小伙伴们经过实践之后都能够顺利的采集到自己...首先运用jieba库进行分词和词频统计分析,得到歌词的词频统计,部分主要代码如下图所示...
  • 生活常常因日常工作,记录统计方面需频繁处理较多 Excel 表格,这部分工作虽可由人工完成,但这样会显得有些繁琐且可能存在偏差,遂闲时查阅了是否有相关基于python处理Excel表格的学习文档,后获知这主要可以...

空空如也

空空如也

1 2 3 4 5 6
收藏数 106
精华内容 42
关键字:

python在excel中运用

python 订阅