python 对xlsx文件数根据日期进行统计分析_Python处理Excel的常用操作(一)
最近一直忙着学习和写开题报告,都没有时间更文了,今天偷偷来休闲一下。
很多人一开始学习python,就是看到了很多关于python能够快速处理和解决表格的广告,于是便有了今天的分享。我主要利用pandas库来做一些简单且常规的操作。
1、创建表格
在excel中,创建表格很简单,打开excel,输入相关信息,然后保存,便是一张表格。
在python中,可以用以下代码实现:
import pandas as pd
df=pd.DataFrame({'ID':[1,2,3],'Name':['A','B','C']})
df = df.set_index('ID')
df.to_excel(r'C:UsersAdministratorDesktoppythonprojectexcelexcel.xls')
print('done')
2、读取excel文件
在excel中,直接打开文件便可以,在python中,可以用以下代码:
people = pd.read_excel(r'C:UsersAdministratorDesktoppythonprojectexcelPeople.xlsx')
# 当标题行有其他数字,则header =1,
# 当没有标题头,设置header=None
# people.columns=['1','2','3','4']
# people.set_index('ID',inplace = True)# 会自动设置people = pd.read_excel(r'C:UsersAdministratorDesktoppythonprojectexcelPeople.xlsx',index_col ='ID')
print(people.shape)
print(people.columns)
print(people.head())
3、行、列和单元格操作
在python中,一般会用字典或者序列来进行数值的填充。
s1=pd.Series([100,200],index=['x','y'])
print(s1)x 100
y 200将序列转化为DataFrame
s1 = pd.Series([1,2,3],index=[1,2,3],name='A')
s2 = pd.Series([10,20,30],index=[1,2,3],name='B')
s3 = pd.Series([100,200,300],index=[1,2,3],name='C')df =pd.DataFrame({s1.name:s1,s2.name:s2,s3.name:s3})
print(df)A B C
1 1 10 100
2 2 20 200
3 3 30 300
4、自动填充
在excel中,自动填充的方法可见下图:
在python中需要先读取数据,但由于数据并没有顶格,直接读取会有错误。
# skiprows=3,usecols='C:F'
books = pd.read_excel(r'C:UsersAdministratorDesktoppythonprojectexcelBooks (1).xlsx',skiprows=3,usecols='C:F',dtype={'ID':str,'InStore':str,'Date':str})
# ID列的自动填充(两种方法)
for i in books.index:# books['ID'].at[i] =i+1books.at[i,'ID'] =i+1
# Instore列的自动填充(两种方法)
for i in books.index:# books['InStore'].at[i]='Yes' if i%2 ==0 else 'No'books.at[i,'InStore']='Yes' if i%2 ==0 else 'No'
# 日期列的自动填充
# 按天自动填充
start=date(2018,1,1)
for i in books.index:books['Date'].at[i] = start + timedelta(days=i)
print(books)ID Name InStore Date
0 1 Book_001 Yes 2018-01-01
1 2 Book_002 No 2018-01-02
2 3 Book_003 Yes 2018-01-03
3 4 Book_004 No 2018-01-04
4 5 Book_005 Yes 2018-01-05
5 6 Book_006 No 2018-01-06
6 7 Book_007 Yes 2018-01-07
7 8 Book_008 No 2018-01-08
8 9 Book_009 Yes 2018-01-09
5、函数填充、计算列
在excel中,通过两列数据计算结果,可以用公式,比如说,我要计算销售额,那么在excel的单元格输入=销量范围*单价数据范围,在python中可以使用以下代码:
books = pd.read_excel(r'C:UsersAdministratorDesktoppythonprojectexcelBooks.xlsx',index_col='ID')
# 第一种方式
books['Price'] = books['ListPrice'] *books['Discount']
# 第二种方式(将单元格进行依次计算)
for i in books.index: books['Price'].at[i] = books['ListPrice'].at[i] * books['Discount'].at[i]
# 第三种方式(只算一部分的价格,不一定每一个都需要)
for i in range(5,16): books['Price'].at[i] = books['ListPrice'].at[i] * books['Discount'].at[i]
print(books)
6、数据排序
在excel中有自动的排序功能,在python中可以利用sort_values()函数实现
products = pd.read_excel(r'C:UsersAdministratorDesktoppythonprojectexcelList.xlsx', index_col='ID')
products.sort_values(by=['Worthy', 'Price'], ascending=[True, False], inplace=True)
print(products)Name Price Worthy
ID
18 Product_018 11.22 No
15 Product_015 10.31 No
3 Product_003 9.62 No
9 Product_009 8.98 No
6 Product_006 7.34 No
12 Product_012 7.29 No
2 Product_002 11.99 Yes
17 Product_017 11.95 Yes
8 Product_008 11.14 Yes
4 Product_004 11.08 Yes
7 Product_007 10.97 Yes
7、数据过滤和筛选
在excel中有筛选器可以根据相关提示一步步操作,而python中可以用以下代码设置筛选器:
students = pd.read_excel(r'C:UsersAdministratorDesktoppythonprojectexcelStudents.xlsx', index_col='ID')
students = students.loc[students['Age'].apply(lambda a:18 <= a <= 30)].loc[students.Score.apply(lambda s:60 <= s < 90)]
print(students)Name Age Score
ID
4 Student_004 27 73
8 Student_008 21 61
9 Student_009 18 85
19 Student_019 19 86
今天暂时分享到这里啦,等后期慢慢整理剩下的一些常用技巧。
python 对xlsx文件数根据日期进行统计分析_Python处理Excel的常用操作(一)相关推荐
- python excel提取 替换_python代替excel的常用操作
numpy常用函数 %matplotlib notebook import matplotlib.pyplot as plt import numpy as np x1=np.arange(100)# ...
- python读取xlsx文件中的日期
因为在python中直接读取xlsx文件中的日期,而不进行额外处理的话,会读取错误--即:只能读取成浮点数,而不能以日期的格式获取. 导入xlrd 首先保证要导入xlrd,若没有,可执行下面语句下载 ...
- python实现word文档批量转成自定义格式的excel文档
python实现word转成自定义格式的excel文档(解决思路和代码) 支持按照文件夹去批量处理,也可以单独一个文件进行处理,并且可以自定义标识符 最近在开发一个答题类的小程序,到了录入试题进行测试 ...
- python处理word文档文字重复_Python-docx 对 word 文本处理实现自动化操作!
之前介绍了一个Python包 openpyxl ,用于处理 Excel :而对于 Word 文本时同样也有对应的 Python库 Python-docx,在日常办公中,如果需要处理多个 word 文本 ...
- python与excel-用Python完成Excel的常用操作
在以前,商业分析对应的英文单词是Business Analysis,大家用的分析工具是Excel,后来数据量大了,Excel应付不过来了(Excel最大支持行数为1048576行),人们开始转向pyt ...
- 【openpyxl】python处理excel的常用操作
文章目录 openpyxl 相关处理Excel的python库 openpyxl安装 openpyxl使用 基本概念 创建加载和保存 操作和修改 openpyxl openpyxl是一个处理Excel ...
- python excel操作库_超全整理|Python 操作 Excel 库常用操作详解
来源:早起Python 作者:陈熹.刘早起 大家好,我是早起. 在之前的文章中我们曾详细的讲解了如何使用openpyxl 操作Excel,其实在Python中还有其他可以直接操作 Excel 文件的库 ...
- python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)
这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...
- python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)
这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...
最新文章
- phpMyAdmin FTP iptables Selinux
- 关于库存 库存BAPI
- 研发工作中芯片选型需要考虑的问题
- java保留想要的字符,反转Java中的字符,同时保留一些字符 - java
- nginx lua调用redis和mongo
- day5 JavaEE实战班
- malloc/free与new/delete的区别与联系
- Java中ArrayList,Vector,LinkedList,HashMap,HashTable,HashSet对比及总结
- 深度好文:迄今见过最好的职业规划的文章
- c语言中文网vip所有资料,C语言中文网vip教程11.9
- IEEE极限编程:Word Ordering
- 直播场景音频降噪,传统算法 VS AI 算法对比和实践
- 2、硬件工程师之元器件学习—电阻(二)
- cntv客户端_cntv网络电视_cntv官方下载-太平洋下载中心
- bootstrap文档第一遍
- Windows 中的键盘快捷方式
- DeepMind VS Meta:实现纳什均衡理性最优解,还是多人非零和博弈算法更强大?
- 传奇人物赫伯特·西蒙的原则
- matlab ifs植物形态,matlab练习程序(IFS分形)
- 两年前华为手机型号_两年前
热门文章
- H3C交换机设置DHCP中继,配合Linux 服务器为多VLAN提供DHCP地址分配服务
- Backtrader交易基础2
- 套接字(socket)基本知识与工作原理
- 深度学习之 SSD(Single Shot MultiBox Detector)
- pycharm 离线安装插件
- YAML-学习笔记!
- python可变对象 不可变对象_【Python】可变对象和不可变对象
- python2编码_Python2字符编码
- linux中timer的作用,linux - linux / timer.h setup_timer()到期功能不起作用? - 堆栈内存溢出...
- 结构体定义的三钟方式