Python通过pandas操作excel文件
pandas的介绍照搬官网:
pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis / manipulation tool available in any language. It is already well on its way toward this goal.
本文主要是讲解如何通过pandas操作excel文件
一、数据准备
首先准备一份有数据的Excel文件:"D:\Scripts\pandas.xlsx"
内容截图如下:
二、数据读取
2.1、读取数据文件
xls_content = pd.read_excel("D:\\Scripts\\pandas.xlsx")
print(xls_content)
通过以上代码读出pandas.xlsx文件的所有内容
对于pandas读取excel文件有如下注释:
- read_excel接收除文件io外常用的 sheetname,header参数;其中sheetname代表读取excel表中的哪一个sheet,默认为第一个sheet;header 参数默认值为header=5,代表读取excel的前5行;header=None 代表没有标题行,因为默认载入数据时,excel表的第一行就是标题行(pandas表结构中列的索引名称)
- loc:通过行标签索引行数据
- iloc:通过行号索引行数据
通过以下需求,读取指定的数据:
- 查看前两行数据:
xls_content = pd.read_excel("D:\\Scripts\\pandas.xlsx")
content_for_2 = xls_content.head(2)
print(content_for_2)
以上就会输出excel文档的前两行的数据
- 打印指定单元格的内容,比如孙权的身份证号
方式一:
xls_content = pd.read_excel("D:\\Scripts\\pandas.xlsx")
content_for_2 = xls_content["身份证号"][11]
print(content_for_2)
xls_content[A][B]解释:A代表标题名称,可以理解为列名,B代表行号。所以xls_content[“身份证号”][11] 理解为excel中列名为"身份证号",行号为 11 的表格内的数据。注意pandas读取excel的是 [cols][rows] 的形式,xlrd的是 [rows][cols] 形式
方式二:
xls_content = pd.read_excel("D:\\Scripts\\pandas.xlsx", header=None)
content_for_2 = xls_content[4][12]
print(content_for_2)
注:使用方式二必须在读取文件时加入header=None,代表不使用默认标题,系统会自动写入0开始的序列补充;此时的xls_content[4][12]代表的是4列12行的数据