Python3,Pandas 5行代码实现对excel 读写操作,YYDS。
【摘要】 网友:Pandas一定是很Nice的库, 我信了。
1、pandas 写入excel数据
1.1 安装
在使用pandas之前,需要安装pandas模块,
老规矩, pip方式安装:
pip install pandas
其它安装方式,直接看这两篇:
安装完成后,就可以直接使用了,
1.2 代码示例
代码展示
# -*- coding:utf-8 -*-
# @Time : 2022-05-10
# @Author : carl_DJ
import pandas as pd
import os
#DataFrame 数据帧,相当于工作簿中的一个工作表
df = pd.DataFrame({
'id':[1,2,3,4],
'name':['张三','李四','王五','赵刘'],
'arg': [10,20,30,40],
'score':[99,88,77,66]
})
#自定义索引,否则pandas会使用默认索引,导致工作表也会存在这些索引
cf = df.set_index('id')
# print(cf)
#设置文件保存路径
data_path = "../py_class/data"
#没有,则创建
if not os.path.exists(data_path):
os.mkdir(data_path)
#设置文件名,以xlsx格式
data_name = os.path.join(data_path,'data.xlsx')
#把DataFrame的数据写入excel表
cf.to_excel(data_name)
print("done")
最后执行完成,
使用id做索引,结果长这样:
使用pandas默认索引,结果是酱样子的:
所以,要使用pandas默认索引还是 自己创建索引,看各个的喜欢~~
2、pandas 读取excel数据
读取excel的数据,也很简单,
咱先把各种情况,列举一下,然后在读取数据
#设置文件名字,没用os.path方法,因为这不是重点
data_name= '../py_class/data/data.xlsx'
#header=2表示从第三行开始(默认0),跳过前两行,sheet_name表示工作表名称
pepl = pd.read_excel(data_name,header=2,sheet_name="Sheet1")
# pepl = pd.read_excel(data_name,sheet_name="Sheet1")
#打印列名
# print(pepl.columns)
#sort_values 进行排序,by 针对某一行,ascending= False 表示从大到小,inplace = True 直接编辑当前的文档
pepl.sort_values(by = "score", ascending= False, inplace=True)
print(pepl)
#如果读取的excel中无开头标题,可将header=None,手动进行设置
pepl = pd.read_excel(data_name,header=None)
#设置 4个字段,id,name,arg,score
pepl.columns = ['id','name','arg','score']
print(pepl.columns)
#指定id列为索引
pepl = pd.read_excel(data_name,index_col = 'id')
#输出,此时就不会产生索引
print(pepl.head())
#skiprows开头跳过几行,usecols使用哪些列中的数据,dtype设置某一列的类型
pepl = pd.read_excel(data_name,skiprows = 4,usecols = 'E:H',dtype={"id":str,"gender":str,"brithday":str})
下面 我们就是演示一下,看看我们上面写的数据,输入情况如何
# -*- coding:utf-8 -*-
# @Time : 2022-05-10
# @Author : carl_DJ
import pandas as pd
#设置文件名字
data_name= '../py_class/data/data.xlsx'
#读取data_name文件,sheet页是sheet1
peple = pd.read_excel(data_name,sheet_name="Sheet1")
#print(peple.head())
#sort_values 进行排序,by 针对sorce,ascending= False 表示从大到小,inplace = True 就地编辑
peple.sort_values(by = "score", ascending= False, inplace=True)
#
print(peple)
输出的结果,就酱样:
3、总结
看到这里,今天的内容,就分享到这里。
现在回顾一下, 是不是觉得Pandas 其实很简单呢。
不管对Excel是读 还是写, 都是很easy的事情,
在平时的工作中, Pandas的使用常见还很多的 ,所以,有必要学好Pandas。
我是小鱼:
- CSDN 博客专家;
- 阿里云 专家博主;
- 51CTO 博客专家;
- 51认证讲师;
- 金牌面试官&面试培训师;
关注我,带你学习更多更有趣的Python知识。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)