python课程网课推荐处理表格(python课堂)

http://www.itjxue.com  2023-03-30 05:33  来源:未知  点击次数: 

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

请点击输入图片描述

在弹出的函数参数对话框中,Lookup_value栏选定D1(即想要引用出来的项目),Table_array栏选定A1:B10(即要引用的范围)

请点击输入图片描述

选定A1:B10,按F4(绝对引用,使引用范围固定)

请点击输入图片描述

在Col_index_num栏输入2(即引用第二列的数值),Range_lookup栏输入0(即FALSE大致匹配)

请点击输入图片描述

最后下拉E1完成匹配

请点击输入图片描述

Python 数据处理(十八)—— HTML 表格

顶级 read_html() 函数可以接受 HTML 字符串、文件或URL,并将 HTML 表解析为 pandas DataFrames 列表。

注意 :即使 HTML 内容中仅包含一个表, read_html 也会返回 DataFrame 对象的列表

让我们看几个例子

读入 banklist.html 文件的内容,并将其作为字符串传递给 read_html

如果愿意,您甚至可以传入 StringIO 的实例

读取 URL 并匹配包含特定文本的表

指定一个标题行(默认情况下 th 或 td 位于 thead 中的元素用于形成列索引,如果 thead 中包含多个行,那么创建一个多索引)

指定索引列

指定要跳过的行数:

使用列表指定要跳过的行数( range 函数也适用)

指定一个 HTML 属性

指定应转换为 NaN 的值

指定是否保持默认的 NaN 值集

可以为列指定转换器。这对于具有前导零的数字文本数据很有用。

默认情况下,将数字列转换为数字类型,并且前导零会丢失。为了避免这种情况,我们可以将这些列转换为字符串

组合上面的选项

读取 to_html 的输出(会损失浮点数的精度)

当只提供了一个解析器时,如果解析失败, lxml 解析器会抛出异常,最好的方式是指定一个解析器列表

但是,如果安装了 bs4 和 html5lib 并传入 None 或 ['lxml','bs4'] ,则解析很可能会成功。

DataFrame 对象有一个实例方法 to_html ,它将 DataFrame 的内容呈现为 html 表格。

函数参数与上面描述的方法 to_string 相同。

columns 参数将限制显示的列

float_format 参数控制浮点值的精度

bold_rows 默认情况下将使行标签加粗,但你可以关闭它

classes 参数提供了给 HTML 表 设置 CSS 类的能力。

请注意,这些类附加到现有的 dataframe 类之后

render_links 参数提供了向包含 url 的单元格添加超链接的能力

最后, escape 参数允许您控制 HTML 结果中是否转义了 "" 、 "" 和 "" 字符(默认情况下为 True )。

因此,要获得没有转义字符的 HTML ,请传递 escape=False

转义

不转义

在某些浏览器上这两个 HTML 表可能并不会显示出差异。

在顶级 pandas io 函数 read_html 中,用于解析 HTML 表的库存在一些问题

python怎么处理excel数据

Python对excel数据的处理分为两种,如果是简单的添加、删除、修改表格内容或者基本的运算建议使用第三方库openpyxl,可满足要求;如果是要进行深入的数据分析,建议使用pandas库,将excel数据导入后基本pandas的强大分析功能进行分析,分析及处理结果再存为excel表格即可。

(责任编辑:IT教学网)

更多