一、使用pandas读取xlsx

  引用pandas库

import pandas as pd

pd.read_excel(path, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False,dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, parse_dates=False, date_parser=None, thousands=None, comment=None, skipfooter=0, convert_float=True, **kwds)

pandas读取Excel后返回DataFrame;

二、解析pd.read_excel()的常用参数

1.path --> xlsx的存储路径(建议使用英文路径或者英文命名方式)

import pandas as pd
path = r'D:\Testdatabase\data\data.xlsx'

2.sheet_name --> 读取工作表(sheet)名称

sheet_name:None代表读取所有的sheet,返回的就是一个ordereddict;指定就只读取指定sheet,只有一个返回的就是dataframe

# 整型数字、列表名、SheetN、或者是以上三组组合列表

# 整型数字:目标sheet所在位置,以0开始,比如sheet_name = 0代表第1个工作表
data = pd.read_excel(path, sheet_name = 1)
ss = data.head()
print(ss)

# 工作表名:目标sheet的名称,可用中英文
data = pd.read_excel(path, sheet_name = ‘账号密码’)
data.head()

# SheetN:表示第N个sheet,S必须大写,注意与整型数字的区别使用
data = pd.read_excel(path, sheet_name = ‘Sheet5’)
data.head()

# 组合使用
# sheet_name = [0, ‘车辆信息’, ‘Sheet4’],代表读取三个工作表,分别为第1个工作表、名为“车辆信息”的工作表和第4个工作表。显然,Sheet4未经重命名。
# sheet_name 默认为0,取Excel第一个工作表。如果读取多个工作表,则显示表格的字典
data = pd.read_excel(path, sheet_name = [‘账号密码’, ‘车辆信息’], nrows = 5)
# sheet_name = [‘账号密码’, ‘车辆信息’] ,返回两个工作表组成的字典
data.head()

3.header --> 指定前几行作为列名(指定数据表的表头,默认值为0,即将第一行作为表头。)

# 默认[0],即首行作为列名,设置为[0,1],即表示将前两行作为多重索引
data = pd.read_excel(path, sheet_name = '车辆信息', header = [0,1])
# 前两行作为列名。
data.head()
data = pd.read_excel(path, sheet_name = '车辆信息', header = [0,1,2])
# 前三行作为列名
data.head()

4.names --> 自定义列名

# 一般适用于Excel缺少列名,或者需要重新定义列名的情况
# 注意:names的长度必须和Excel列长度一致,否则会报错
data = pd.read_excel(path, sheet_name = '英超射手榜', names = ['car_plate','sim_num','club','goal','common_goal','penalty'])
data.head()

5.index_col --> 用作索引的列

# 可以是工作表列名称,如index_col = '车牌号';
data = pd.read_excel(path, sheet_name = '车辆信息', index_col = '车牌号')
data.head()

# 可以是整型或整型列表,如index_col = 0 或 [0, 1],如果选择多个列,则返回多重索引
data = pd.read_excel(path, sheet_name = ‘车辆信息’, index_col = [0, 1])
data.head()

6.usecols --> 读取指定的列

# usecols 可避免读取全量数据,而是以分析需求为导向选择特定数据,可以大幅提高效率
# 使用整型,从0开始,如[0,2,3]
data = pd.read_excel(io, sheet_name = '车辆信息', usecols = [0, 1, 2])  # 想要读取第一列、第二列、和第三列的数据
data.head()

# 可以使用Excel传统的列名“A”、“B”等字母,如“A:C, E” =“A, B, C, E”,注意两边都包括
data = pd.read_excel(path, sheet_name = ‘车辆信息’, usecols = ‘A:C, E’)
data.head()

7.squeeze --> 当工作表只有一列

# squeeze为True时,返回Series,反之返回DataFrame
data = pd.read_excel(path, sheet_name = '新增车组名', squeeze  = True)
data.head()

data = pd.read_excel(path, sheet_name = '新增车组名', squeeze  = False)
data.head()

8.skiprows --> 跳过特定行

# skiprows= n, 跳过前n行; skiprows = [a, b, c],跳过第a+1,b+1,c+1行(索引从0开始)
# 使用skiprows 后,有可能首行(即列名)也会被跳过。
data = pd.read_excel(path, sheet_name = '新增车组名', skiprows = [1,2,3])
# 跳过第2,3,4行数据(索引从0开始,包括列名)
data.head()

# 跳过前三行
data = pd.read_excel(io, sheet_name = ‘新增车组名’, skiprows = 3)
data.head()

9.nrows --> 读取指定行数

# 读取指定行数, nrows = 10 ,即读取10行数据
data = pd.read_excel(path, sheet_name = '新增车组名', nrows = 10)
data.head()

10.skipfooter --> 跳过末尾N行

data = pd.read_excel(path , sheet_name = '新增车组名', skipfooter = 18)
#  skipfooter = 18, 跳过末尾0-18行(索引从0开始)
data.head()

11.converters --> 强制规定列数据类型

读数据的时候使用converters指定列数据的数值类型 pd.read_excel('a.xlsx',converters={0: str})

pandas默认将文本类的数据读取为整型),主要用途:保留以文本形式存储的数字

三、常用操作

1.找到指定的一列,并在这一列中进行比较

data['gender'][data['gender'] == 'male'] = 0
data['gender'][data['gender'] == 'female'] = 1

2.保存

pd.DataFrame(data).to_excel(path, sheet_name='Sheet1', index=False, header=True)

3.新增列数据

data['列名称'] = None
# 值为None(默认值)时,只有列名,没有数据data['profession'] = None

4.新增行数据

# 这里的N为excel自动给行加的序号
data.loc[N] = [值1, 值2, ...]
# 比如我在第5行新增
data.loc[5] = ['James', 32, 'male']

5.删除一列或者删除一行

# 删除gender列,需要指定axis为1,当删除行时,axis为0
data = data.drop('gender', axis=1)

# 删除第3,4行,这里下表以0开始,并且标题行不算在类
data = data.drop([2, 3], axis=0)

6.遍历指定列的所有行

data = pd.read_excel(path,sheet_name="sheet1")
for i in data['列名']:print(i)print(i,type(i))  # type(i) 数据类型,这里的i为字符串print(i.split(' ')) # 字符串转列表values=pd.DataFrame(i.split(' '), columns=['新增车组名'])  # 列表转DataFrameprint(values) 

7.自动填充、排序、计算、数据过滤、筛选

https://blog.csdn.net/u013089490/article/details/91422685

使用pandas读取xlsx相关推荐

  1. pandas读取xlsx

    一.使用pandas读取xlsx 引用pandas库 import pandas as pd pd.read_excel(path, sheet_name=0, header=0, names=Non ...

  2. pandas读取xlsx文件,编码问题

    csv是文本文件,用记事本就能打开, xlsx 是二进制的文件只有用excel才能打开,如果用记事本打开是乱码 首先,我的pandas版本为1.1.0 然后,使用pd.read_excel()读取,详 ...

  3. python读取xlsx文件pandas_Python使用pandas读取xlsx文件,python

    python使用pandas读xlsx文件 读取前n行数据 读取指定数据(指定行指定列) 获取文件行号和列标题 将数据转换为字典形式 import pandas as pd #1.读取前n行所有数据 ...

  4. pandas读取csv、txt和xlsx文件

    一.pandas读取csv文件 import pandas as pd data = pd.read_csv('文件路径/文件名.csv', header = None, sep =',') head ...

  5. Python使用pandas读取两个或者多个excel文件(xlsx)并进行数据连接(join)合并两个或者多个excel的信息

    Python使用pandas读取两个或者多个excel文件(xlsx)并进行数据连接(join)合并两个或者多个excel的信息 目录

  6. Pandas读取Excel文件XLRDError: Excel xlsx file; not supported

    问题背景: 工作中大部使用Pandas分处理的数据都是以csv后缀结尾的文件,但是突然换成xlsx后缀的表格之后,出现的一些错误. 问题现象:         XLRDError: Excel xls ...

  7. 两个使用 Pandas 读取异常数据结构 Excel 的方法,拿走不谢!

    作者 | 周萝卜 来源 | 萝卜大杂烩 通常情况下,我们使用 Pandas 来读取 Excel 数据,可以很方便的把数据转化为 DataFrame 类型.但是现实情况往往很骨干,当我们遇到结构不是特别 ...

  8. python怎么读xlsx_用python读取xlsx文件

    一 准备工作: 二 xlrd库读取 首先安装xlrd库,安装方法: pip install xlrd import xlrd #打开excel wb = xlrd.open_workbook('tes ...

  9. python pandas 读取excel 去重某一列_Python中Pandas读取修改excel操作攻略(代码示例)...

    本篇文章给大家带来的内容是关于Python中Pandas读取修改excel操作攻略(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 环境:python 3.6.8 以某米赛 ...

  10. 手把手教你用Pandas读取所有主流数据存储

    导读:从常见的Excel和CSV到JSON及各种数据库,Pandas几乎支持市面上所有的主流数据存储形式. 作者:李庆辉 来源:大数据DT(ID:hzdashuju) Pandas提供了一组顶层的I/ ...

最新文章

  1. 「模型解读」浅析RNN到LSTM
  2. Idiomatic Python手记一: average in FP way
  3. 植物大战僵尸食人花无cd逆向分析
  4. 【20171123】【GITC精华演讲】贝业新兄弟李济宏:如何做到企业信息化建设的加减乘除...
  5. 随手能做194个实验,不呆板,轻松撬动大智慧
  6. 网站上flv,MP4等格式的视频文件播放不出来的解决办法
  7. 布局设置-Meta标签 and Media(来自bootstrap)
  8. 开课吧Java课堂:StringBuffer全解,非常详细
  9. 标准模块 os.stat
  10. Spring-Task 的应用(配置文件方式)
  11. Mac电脑如何添加管理员账户?
  12. 文/有品生活(pinpinlife) 小户型家具如何摆?
  13. flex 实现图片播放 方案二 把临时3张图片预加载放入内存
  14. 60页5G+智慧农业大数据 2022
  15. javascript获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度
  16. 2016年蓝桥杯B组C/C++省赛试题-漏网之渔
  17. 理解加载class到JVM的时机
  18. 如何确定一台电脑配置的高低
  19. 58同城python_Python实战计划爬虫作业第一周作业:爬58同城
  20. 【教3妹学算法-每日3题(3)】 和至少为 K 的最短子数组

热门文章

  1. Android开发初体验——创建一个简单的APP
  2. 苹果app退款_app退款不成功原因有三
  3. android11屏蔽导航栏
  4. PHP创始人:开源与商业软件是竞合关系(转)
  5. Bada学习-SDK的安装
  6. Python 多重共线性检验
  7. Java实习面试一般问什么?选大公司还是小公司?
  8. 已知两边求角度公式_有30度角的直角三角形,已知一直角边,求另两边的公式,快速求法...
  9. 医院时钟系统(卫星校时钟)设计与答疑
  10. 视场(FOV)补偿与分辨率(Resolution)补偿