最近一直忙着学习和写开题报告,都没有时间更文了,今天偷偷来休闲一下。

很多人一开始学习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的常用操作(一)相关推荐

  1. python excel提取 替换_python代替excel的常用操作

    numpy常用函数 %matplotlib notebook import matplotlib.pyplot as plt import numpy as np x1=np.arange(100)# ...

  2. python读取xlsx文件中的日期

    因为在python中直接读取xlsx文件中的日期,而不进行额外处理的话,会读取错误--即:只能读取成浮点数,而不能以日期的格式获取. 导入xlrd 首先保证要导入xlrd,若没有,可执行下面语句下载 ...

  3. python实现word文档批量转成自定义格式的excel文档

    python实现word转成自定义格式的excel文档(解决思路和代码) 支持按照文件夹去批量处理,也可以单独一个文件进行处理,并且可以自定义标识符 最近在开发一个答题类的小程序,到了录入试题进行测试 ...

  4. python处理word文档文字重复_Python-docx 对 word 文本处理实现自动化操作!

    之前介绍了一个Python包 openpyxl ,用于处理 Excel :而对于 Word 文本时同样也有对应的 Python库 Python-docx,在日常办公中,如果需要处理多个 word 文本 ...

  5. python与excel-用Python完成Excel的常用操作

    在以前,商业分析对应的英文单词是Business Analysis,大家用的分析工具是Excel,后来数据量大了,Excel应付不过来了(Excel最大支持行数为1048576行),人们开始转向pyt ...

  6. 【openpyxl】python处理excel的常用操作

    文章目录 openpyxl 相关处理Excel的python库 openpyxl安装 openpyxl使用 基本概念 创建加载和保存 操作和修改 openpyxl openpyxl是一个处理Excel ...

  7. python excel操作库_超全整理|Python 操作 Excel 库常用操作详解

    来源:早起Python 作者:陈熹.刘早起 大家好,我是早起. 在之前的文章中我们曾详细的讲解了如何使用openpyxl 操作Excel,其实在Python中还有其他可以直接操作 Excel 文件的库 ...

  8. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  9. python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

最新文章

  1. phpMyAdmin FTP iptables Selinux
  2. 关于库存 库存BAPI
  3. 研发工作中芯片选型需要考虑的问题
  4. java保留想要的字符,反转Java中的字符,同时保留一些字符 - java
  5. nginx lua调用redis和mongo
  6. day5 JavaEE实战班
  7. malloc/free与new/delete的区别与联系
  8. Java中ArrayList,Vector,LinkedList,HashMap,HashTable,HashSet对比及总结
  9. 深度好文:迄今见过最好的职业规划的文章
  10. c语言中文网vip所有资料,C语言中文网vip教程11.9
  11. IEEE极限编程:Word Ordering
  12. 直播场景音频降噪,传统算法 VS AI 算法对比和实践
  13. 2、硬件工程师之元器件学习—电阻(二)
  14. cntv客户端_cntv网络电视_cntv官方下载-太平洋下载中心
  15. bootstrap文档第一遍
  16. Windows 中的键盘快捷方式
  17. DeepMind VS Meta:实现纳什均衡理性最优解,还是多人非零和博弈算法更强大?
  18. 传奇人物赫伯特·西蒙的原则
  19. matlab ifs植物形态,matlab练习程序(IFS分形)
  20. 两年前华为手机型号_两年前

热门文章

  1. H3C交换机设置DHCP中继,配合Linux 服务器为多VLAN提供DHCP地址分配服务
  2. Backtrader交易基础2
  3. 套接字(socket)基本知识与工作原理
  4. 深度学习之 SSD(Single Shot MultiBox Detector)
  5. pycharm 离线安装插件
  6. YAML-学习笔记!
  7. python可变对象 不可变对象_【Python】可变对象和不可变对象
  8. python2编码_Python2字符编码
  9. linux中timer的作用,linux - linux / timer.h setup_timer()到期功能不起作用? - 堆栈内存溢出...
  10. 结构体定义的三钟方式