㈠ python如何操作当前已经打开的excel
openpyxl 可以读取人已经打开的excel文件,也可以操作单元格赋值等,但是最后一步保存的时候不能和已打开的文件相同,比如已打开的文件a.xlsx,保存的时候你可以换个名字b.xlsx,相同就会报错
㈡ python操作excel方法
这里介绍3种Python读写Excel的方法,分别是xlrd和xlwt、openpyxl以及pandas,这3种方法都非常简单,感兴趣的朋友可以自己尝试一下:
xlrd和xlwt
这是最基本的Python读写Excel的方式,xlrd专门用于读取Excel,xlwt专门用于写入Excel,下面我简单介绍一下这种方式:
xlrd读取excel,测试代码如下,非常简单,先打开对应的Excel文件,然后定位到某一个sheet,最后再直接读取行、列、单元格值即可:
xlwt写入excel,测试代码如下,新建一个Excel文件,然后添加一个sheet,最后再直接将数据写入对应单元格即可:
openpyxl
这也是Python一个专门用于读写Excel文件的模块,基本读写方式和xlrd、xlwt差不多,使用起来也非常方便,下面我简单介绍一下这种方式:
读取Excel,测试代码如下,打开Excel文件,然后根据name获取到对应sheet,最后再直接读取行、列、单元格值即可:
写入Excel,测试代码如下,新建一个Excel文件,然后添加一个活动sheet,最后再直接将数据写入单元格即可:
pandas
这是Python最简单的读写Excel文件的方法,pandas内置了read_excel和to_excel这2个函数,一行代码即可完成对Excel文件的读写,下面我简单介绍一下这种方式:
读取Excel,测试代码如下,非常简单,read_excel函数直接读取即可,这里返回的数据类型是DataFrame,可以按行、列、单元格取值:
写顷则入Excel,测试代码如下,先构造需要写入的数据,然后直接利用DataFrame的to_excel函数保存为Excel文件枯扰即可:
至此,我们就介绍完了Python读写Excel文件的3种方法。总的来说,这3种方法都非常简单,只要你有一定的Python基础,熟悉一下相关代码和文档,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望雀败棚以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
㈢ Python处理Excel效率高十倍(下篇)通篇硬干货,再也不用加班啦
《用Python处理Excel表格》下篇来啦!
身为工作党或学生党的你,平日里肯定少不了与Excel表格打交道的机会。当你用Excel处理较多数据时,还在使用最原始的人工操作吗?现在教你如何用Python处理Excel,从此处理表格再也不加班,时间缩短数十倍!
上篇我们进行了一些事前准备,目的是用Python提取Excel表中的数据。而这一篇便是在获取数据的基础上,对Excel表格的实操处理。
第9行代码用来指定创建的excel的活动表的名字:
·不写第9行,默认创建sheet
·写了第9行,创建指定名字的sheet表
第9行代码,通过给单元格重新赋值,来修改单元格的值
第9行代码的另一种写法sheet['B1'].value = 'age'
第10行代码,保存时如果使用原来的(第7行)名字,就直接保存;如果使用了别的名字,就会另存为一个新文件
插入有效数据
使用append()方法,在原来数据的后面,按行插入数据
·insert_rows(idx=数字编号, amount=要插入的行数),插入的行数是在idx行数的下方插入
·insert_cols(idx=数字编号, amount=要插入的列数),插入的位置是在idx列数的左侧插入
·delete_rows(idx=数字编号, amount=要删除的行数)
·delete_cols(idx=数字编号, amount=要删除的列数)
move_range(“数据区域”,rows=,cols=):正整数为向下或向右、负整数为向左或向上
举个例子:
openpyxl.styles.Font(name=字体名称,size=字体大小,bold=是否加粗,italic=是否斜体,color=字体颜色)
其中,字体颜色中的color是RGB的16进制表示
再者,可以使用for循环,修改多行多列的数据,在这里介绍了获取的方法
Alignment(horizontal=水平对齐模式,vertical=垂直对齐模式,text_rotation=旋转角度,wrap_text=是否自动换行)
水平对齐:‘distributed’,‘justify’,‘center’,‘left’, ‘centerContinuous’,'right,‘general’
垂直对齐:‘bottom’,‘distributed’,‘justify’,‘center’,‘top’
当然,你仍旧可以调用for循环来实现对多行多列的操作
设置行列的宽高:
·row_dimensions[行编号].height = 行高
·column_dimensions[列编号].width = 列宽
合并单元格有下面两种方法,需要注意的是,如果要合并的格子中有数据,即便python没有报错,Excel打开的时候也会报错。
merge_cells(待合并的格子编号)
merge_cells(start_row=起始行号,start_column=起始列号,end_row=结束行号,end_column=结束列号)
拆分单元格的方法同上
unmerge_cells(待合并的格子编号)
unmerge_cells(start_row=起始行号,start_column=起始列号,end_row=结束行号,end_column=结束列号)
create_sheet(“新的sheet名”):创建一个新的sheet表
第11行,使用title修改sheet表的名字
remove(“sheet名”):删除某个sheet表
要删除某sheet表,需要激活这个sheet表,即:将其作为活动表(关于活动表的定义请看前面文章开头写的有)下面8~11行代码展示了原始活动表与手动更换活动表,第13行代码删掉活动表
背景知识
numpy与pandas
NumPy是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库;pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的,我们需要利用Pandas进行Excel的合并
1.下面的代码生成了一个5行3列的包含15个字符的嵌套列表
(注意,第4行代码:15是等于35的,如果是15对应43,或者16对应5*3都会报错)
(注意,第5行代码,虽然5行3列是15个数据,但是可以指定数据从1开头,到16结束)
2.添加表头
使用pandas库的DataFrame来添加表头。关于打印的结果,把最左侧的一列去掉之后会发现结果很和谐,这是因为最左侧的一列代表行号。此时xx变量的类型是
xlsxwriter模块一般是和xlrd模块搭配使用的,
xlsxwriter:负责写入数据,
xlrd:负责读取数据。
1.创建一个工作簿
2.创建sheet表
3.写入数据
㈣ python处理excel 两张表格,对关键字段进行匹配
首先选中E1单元格,然后点公式—vlookup
㈤ Python中操作Excel最好用的模块是
Python中的模块也称为库,在Python中操作Excel的模块有很多。
优缺点如下:
**1、Pandas模块**
Pandas是Python的一一个开源数据分析模块,可用于数据挖掘和数据分析,同时也提供数据清洗功能,可以说它是日前Python数据分析的必备工具之一。Pandas能够处理类似电子表格的数据,用于数据快速加载、操作、对齐、合并、数据预处理等。
Pandas通过对Excel文件的读写实现数据输入、输出,Pandas支持.xls和.xlsx格式文件的读写,支持只加载每个表的单一工作页。
import pandas as pd
df=pd.read_excel(r'E:ban.xlsx') #pandas 导入库获取excel表的数据内容
df`
**2、xlwings模块**
xlwings模块可以实现Python中调用Excel,也可以从Excel调用Python,这个模块支持支持.xls和.xlsx格式文件的读写,支持对这类文件的操作,还支持使用VBA,具有强大的转换功能,并且可以处理大部分数据类型。
**3、Xlrd模块**
xlrd模块可以读取Excel文件,其对Excel文件的读取可以实现比较精细的控制。虽然现在使用Pandas模块读取和保存Excel文件往往更加方便快捷,但在某些场景下,依然需要xlrd这种更底层的模块来实现对Excel文件读取的控制。
xlrd模块支持.xls、.xlsx格式文件的读取,但不支持写信息。
**4、xlwt模块**
前面xlrd模块可以读取Excel文件,但不能写。而xlwt模块可以写、可以修改Excel文件,但不能读,且只支持.xls格式文件的写操作。
**5、xlutils模块**
xlutils也是一个处理Excel文件的模块,但它不能对Excel文件进行读和写的操作,但依赖于xlrd模块和xlwt模块。xlutils模块支持.xls格式文件,不支持.xlsx格式文件。
**6、openpyxl模块**
openpyxl模块可以对.xlsx格式的Excel文件进行读写操作,特点是读取快、写入慢,且不能操作.xls格式文件。
**7、xlsxwriter模块**
xlsxwriter模块支持多种Excel功能,可以写.xlsx格式的Excel文件,而且速度快、占用内存空间小,但不支持读或者修改现有的Excel文件。
**8、win32com模块**
win32com模块支持.xls、.xlsx格式的Excel文件的读、写和修改,读写速度快。但win32com模块存在于pywin32的模块中,自身没有完善的文档,使用起来不太方便。
**9、分析总结**
Pandas模块把Excel当作数据读写的容器,为其强大的数据分析服务,因此读写性能的表现中规中矩。xlwings和win32com这两个模块都拥有很好的读写性能,强大的转换器可以处理大部分数据类型,同时,可以在程序运行时,在打开的Excel文件中进行实时操作,实现过程的可视化。另外,xlwings模块的数据结构转换器使其可以快速地为Excel文件添加二维数据结构,而不需要在Excel文件中重定位数据的行和列,因此笔者认为,从读写的便捷性来看,xlwings模块比较好用一些。