python 自加1_快速全面使用Python处理Excel

本文介绍了如何使用Python的pandas、xlwt和xlrd库处理Excel文件,包括安装库、读取和写入Excel数据的操作方法,适合数据处理初学者。
摘要由CSDN通过智能技术生成
1afe2362427f5334a4b78b5231b02592.png点击上方“蓝字”关注我们吧! 7c50113cdceb1e7e081ab7c6b46cc06b.png

文章小长,却很受用!这是小编的在这个公众号的第一篇推文,格外用心!安心听课!由于项目需要处理大量的数据,这些基础数据被存储在Excel表格中,团队运用了Python强大的数据处理能力进行了数据整理和数据清洗的工作。

全文共3376个字,预计阅读约15分钟!

e1c630597b1d65fa5f6f10a5621e33b0.png

怎么又是python!!!【好牛皮的样子】

目录

1、pandas、xlwt和xlrd库的安装

2、Python对Excel文件的读操作

3、Python对Excel文件的写操作

1、pandas、xlwt和xlrd库的安装

这里小编提供两种方法:

方法一:使用cmd命令行进行安装。按windows+R,弹出运行命令框,直接输入pip install pandas,点击确定,即进入安装界面,其他库也可按照此方式进行安装。

e6a2a1748f221be51f8ed66407800573.png

方法二:打开Pycharm(小编使用的是这一款IDE),依次点击File-Settings-Project-Project Interpreter-点击加号(下图),后边就是输入库名,安装就好了。

cba15a68d56268039152c074fcfe7713.png

b982e85aa7fdebe0180ddfe8d4054eef.gif

假装安好了

2、Python对Excel文件的读操作

这里同样也是介绍两种读操作方式,两种适用条件不同,可以自行甄选使用哦。

54e0d7390c7291c0c87343223b396279.gif

方法一:

使用pandas库进行读操作。

Pandas是python第三方库,提供高性能易用数据类型和分析工具。在使用时一般输入import pandas as pd(后边的as pd实际上就是给它起了个小名,方便调用)。其常与Numpy、Matplotlib结合使用,完成数据处理和数据可视化的一些工作。

94981264e34f000b1101bd14f79b1323.gif

上代码!!

先说一下用到的案例:

文件类型为xlsx类型,文件名称为file_test,文件内容如下图。

9278061ee90cecc48beb73fd8325e08a.png

# author:Zhenqian ZHANG# -*- coding: utf-8 -*-import pandas as pd  # 导入pandas库df = pd.read_excel(r"C:\Users\Phil\Desktop\test_file.xlsx", encoding='gbk')# 读取文件:pd.read_excel("file path",encoding=)默认encoding是UTF-8,但是据说gbk对中文会好点# 先介绍些必备知识(只是部分知识,比如数据拼接、数据清理在本文并未介绍)#1.查看数据print(df.shape[0])  # 返回行数,返回15print(df.shape[1])  # 返回列数,返回3print(df.head())  # 返回前几行,默认为5print(df.tail(4))  # 返回后几行,默认为5print(df.describe())  # 返回数据列的一些数据特征值,比如最大值、最小值、平均数等等print(df.info())  # 返回数据集的基本信息print(df.columns)  # 返回列名print(df.dtypes)  # 返回数据类型print(df.mean())  # 返回平均值#2.数据选取std_name = df["姓名"]  # 新建std_name列表,并将文件中的“姓名”这一列存储进去std_name2 = df.姓名  # 和 上一行一样的效果,只不过是不同的方式scores = df["成绩"]  # 新建scores列表,并将文件中的“成绩”这一列存储进去print(df[["序号","成绩"]])  # 查看多行多列print(df.iloc[0])  # 按索引查看某行,第一行:print(df.iloc[1,1])  # 输出李四,因为行列都是从0开始索引的for i in std_name2:    print(i)  # 将依次输出姓名# 接下来我们可以做一些简单的统计#1.我们统计下成绩大于90的人数num = 0for j in scores:    if j >= 90:        num += 1  # 每找到一个就自加1print(num)#2.将成绩大于等于90的学生姓名和成绩打印出来for id,sc in enumerate(scores):  # enumerate()返回列表的检索号(存储在了id变量中)和值(存储在了sc变量中)    if sc >= 90:        print(std_name[id], "\t" , sc)    else:        continue

0f6aec2b2d590c102bb27de6f68a8fe8.gif

方法二:

使用xlrd库进行读操作。不啰嗦,直接上代码!!!【就是这么粗暴,你打我啊】

# author:Zhenqian ZHANG# -*- coding: utf-8 -*-import xlrd  # 导入库file_path = r"C:\Users\Phil\Desktop\test_file.xlsx"  # 这里我有添加了一个数据表sheet2book = xlrd.open_workbook(file_path)  # 注意这里是数据簿,对比一下前文的pandas是打开的数据表sheet0 = book.sheet_by_index(0)  # 按照索引号得到表单sheet1 = book.sheet_by_name("sheet1")  # 按照表单名得到表单sheet_name = book.sheet_names()[0]  # 得到检索号为0的表单的表名print(sheet_name)# 获得行数和列数Nn_rows = sheet0.nrows    # 行总数Nb_cols = sheet0.ncols    # 列总数# 获得指定行、列的值,返回对象为一个值列表row_data = sheet0.row_values(0)  # 获得第1行的数据列表print(row_data)col_data = sheet0.col_values(0)  # 获得第1列的数据列表print(col_data)# 通过单元格坐标读取单元格中的数据cellValue1 = sheet0.cell_value(0, 0)cellValue2 = sheet0.cell_value(0, 1)print(cellValue1)print(cellValue2)

3、文件的写操作

de1c1c6b6d338925fc27e14cc487456f.png

最后一个啦。。。

对Excel文件进行写操作主要是用到xlwt库。所谓写操作就是把你代码中想保存的数据写入Excel文件中,然后保存下来。无非就是一些建表、写入、保存的操作。加把劲!!!

4fa6b5ff7b0a56bf9e2495cff251816e.gif

# author:Zhenqian ZHANG# -*- coding: utf-8 -*-import xlwt  # 导入库# 创建一个数据簿,相关参数可自行查阅,主要的就是这两个book = xlwt.Workbook(encoding='utf-8', style_compression=0)#创建一个表单,表单名为test,第二个参数表示设置为可编辑模式sheet = book.add_sheet("test", cell_overwrite_ok=True)# 向表中添加数据sheet.write(0,0,"ID")  # 表示在第一行第一列写入IDsheet.write(0,1,"姓名")  # 表示在第一行第二列写入姓名for i in range(1,4):    sheet.write(i,0,i)  #这里表示在表单的第一列写入3个序号names = ["张三","李四","王五"]  # 建一个名字列表for j in range(len(names)):  #这里len()函数可以返回列表的长度    sheet.write(j+1,1,names[j])  # 这里表示在第二列依次写入三个名字book.save(r"C:\Users\Phil\Desktop\test.xls")  # 这里加r表示转义,也可以直接使用"C://Users//Phil//Desktop//test.xls"# 注意这里的文件格式是xls的

输出的文件为:

81985083bf3299b4d90d98d565ef598e.png

b7d1e37bcb0a3c90989bf2b3eb68ba63.png

终于结束了,其实这三个库还有很多其他知识,自己要多查阅资料、多敲代码。小编也和你一样在慢慢成长哦。

温馨提示

如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我们。

b3607b519f8a576b89a7ff3fe23cddc3.png 2ba2f9df417e7cb5b8a85d5e93a684d3.png微信号:运筹帷幄Q新浪微博:@我家公子Q-扫码关注我们-
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值