pandas玩转excel_pandas操作excel_pandas读写excel

简介: pandas玩转excel_pandas操作excel_pandas读写excel

pandas是基于Numpy创建的Python包,内置了大量标准函数,能够高效地解决数据分析数据处理和分析任务,pandas支持多种文件的操作,比如Excel,csv,json,txt 文件等,读取文件之后,就可以对数据进行各种清洗、分析操作了。

首先,了解下pandas中两个主要的数据结构,一个是Series,另一个是DataFrame。

Series一种增强的一维数组,类似于列表,由索引(index)和值(values)组成。

DataFrame是一个类似表格的二维数据结构,索引包括列索引和行索引,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame的每一行和每一列都是一个Series。

pandas读取excel

pandas读取文件之后,将内容存储为DataFrame,然后就可以调用内置的各种函数进行分析处理。

pandas对xlrd等模块进行了封装,可以很方便的处理excel文件,支持xls和xlsx等格式,需要提前安装模块pip install xlrd

pandas.read_excel(filename, sep, header,encoding)

「参数解释」

  • filename:文件路径,可以设置为绝对路径或相对路径
  • sep:分隔符,常用的有逗号 , 分隔、\t 分隔,默认逗号分隔,read_table默认是'\t'(也就是tab)切割数据集的
  • header:指定表头,即列名,默认第一行,header = None, 没有表头,全部为数据内容
  • encoding:文件编码方式,不设置此选项, Pandas 默认使用 UTF-8 来解码。
  • index_col ,指定索引对应的列为数据框的行标签,默认 Pandas 会从 0、1、2、3 做自然排序分配给各条记录。
  • 通过names=['a','b','c']可以自己设置列标题

img

import pandas as pd
result = pd.read_excel('test1.xlsx')
print(result)

img

# 指定第一列为行索引
result = pd.read_excel('test1.xlsx',index_col=0)
print(result)

img编辑

#  默认读取第一个sheet,读取第2个sheet如下
result = pd.read_excel('test1.xlsx',sheet_name=1)
print(result)

img

result = pd.read_excel('test1.xlsx',names=['序号','姓名','年龄','城市'])
print(result)

img

# 查看指定前几行,默认前5行,指定行数写小括号里
print(result.head())

# 查看数据的(行数、列数)
print(result.shape)
#(4, 4)

# 查看列索引列表
print(result.columns.values)
# ['No' 'Name' 'Age' 'Address']

# 查看行索引列表
print(result.index.values)
# [0 1 2 3]

新建excel并写入数据

import pandas as pd
result = pd.DataFrame({'序号':[1,2,3],'姓名':['张三','李四','王五']})
result.to_excel('新建.xlsx')

pandas增删改查:

读取下面的表格数据,进行学习:

import pandas as pd
df = pd.read_excel('test1.xlsx',index_col='No')
print(df)

img

增删改查的常用方法,已整理成思维导图,便于大家查阅学习:

img编辑

「两种查询方法的介绍」

「loc」 根据行,列的标签值查询

「iloc」 通过行号索引行数据,行号从0开始,逐次加1。

「注意」 当使用显式索引(即data['a':'c'])作切片时,结果「包含」最后一个索引;而当使用隐式索引(即 data[0:2]) 作切片时,结果「不包含」最后一个索引。

loc属性,表示取值和切片都是显式索引

iloc属性,表示取值和切片都是隐式索引

Pandas 读取 csv文件的语法格式和读取excel文件是相似的,大家可以对照读取excel的方法学习。

使用pandas表格数据常用的清洗方法:

df.drop(['Name'], axis=1) # 删除列
df1.drop(labels=[1,3],axis=0)   #删除行
df.drop([0, 1]) # 删除行
df.drop_duplicates() # 删除重复值
df.fillna('missing')# 使用字符串填补
df.replace('old', 'new') # old替换成new
df.rename(columns={'old_name': 'new_name'}) # 选择性更改列名
df.columns = ['a','b','c'] # 重命名列名
df.dropna(axis = 0) # 删除有缺失的行
df.dropna(axis = 1) # 删除有缺失的列

当然了,pandas除了读取csv和excel文件之外,读写数据的方法还有很多种,感兴趣的话,大家可以根据官方文档学习。

https://pandas.pydata.org/pandas-docs/stable/

img编辑

目录
相关文章
|
1月前
|
Java Apache
EasyPOI操作Excel从零入门
我们不造轮子,只是轮子的搬运工。(其实最好是造轮子,造比别人好的轮子)开发中经常会遇到excel的处理,导入导出解析等等,java中比较流行的用poi,但是每次都要写大段工具类来搞定这事儿,此处推荐一个别人造好的轮子,EasyPOI封装了Apache的POI技术,实现了基本的Excel导入、导出从此不再为Excel操作头疼~
20 2
EasyPOI操作Excel从零入门
|
1月前
|
数据格式 Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数转换数据格式。示例代码展示了如何通过`melt()`转为长格式,再用`pivot()`恢复为宽格式。输入数据是包含'Name'和'Age'列的DataFrame,最终结果经过转换后呈现出不同的布局。
40 6
|
1月前
|
存储 数据处理 索引
Python操作Excel常用方法汇总
Python操作Excel常用方法汇总
34 0
|
2月前
|
Go API
一文搞懂Go读写Excel文件
一文搞懂Go读写Excel文件
52 0
|
7天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
10 2
|
7天前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
12 0
|
9天前
|
存储 数据库连接 数据处理
数据加载与保存:Pandas中的数据输入输出操作
【4月更文挑战第16天】Pandas是Python数据分析的强大工具,支持多种数据加载和保存方法。本文介绍了如何使用Pandas读写CSV和Excel文件,以及与数据库交互。`read_csv`和`to_csv`用于CSV操作,`read_excel`和`to_excel`处理Excel文件,而`read_sql`和`to_sql`则用于数据库的读写。了解这些基本操作能提升数据处理的效率和灵活性。
|
24天前
|
Python
python使用tkinter库,封装操作excel为GUI程序
python使用tkinter库,封装操作excel为GUI程序
|
1月前
|
数据采集 存储 Web App开发
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
|
1月前
|
数据可视化 Python
如何使用Python的Pandas库进行数据分组和聚合操作?
【2月更文挑战第29天】【2月更文挑战第105篇】如何使用Python的Pandas库进行数据分组和聚合操作?