问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据分析从零开始实战,Pandas读写Excel/XML数据

发布网友 发布时间:2024-09-27 17:44

我来回答

1个回答

热心网友 时间:2024-10-18 14:25

前面两篇文章讲了数据分析虚拟环境创建和pandas读写csv、tsv、json格式的数据,今天我们继续探索pandas读取数据。

一 基本知识概要

1.利用pandas读写Excel文件 2.利用pandas读写XML文件

二 开始动手动脑1.利用Python读写Excel

读取,利用Pandas库的ExcelFile()方法。

写入,利用Pandas库的利用to_excel方法。

代码importpandasaspdimportos#获取当前文件父目录路径father_path=os.getcwd()#原始数据文件路径rpath_excel=father_path+r'\data01\realEstate_trans.xlsx'#数据保存路径wpath_excel=father_path+r'\data01\temp_excel.xlsx'#打开excel文件excel_file=pd.ExcelFile(rpath_excel)#读取文件内容"""ExcelFile对象的parse()方法读取指定工作表的内容ExcelFile对象的sheet_names属性可以获取Excel文件中的所有工作表这里还用到了字典表达式来给字典赋值(看起来更加优雅)"""excel_read={sheetName:excel_file.parse(sheetName)forsheetNameinexcel_file.sheet_names}#输出Sacramento表格的price列的头10行记录print(excel_read['Sacramento'].head(10)['price'])print(type(excel_read['Sacramento'].head(10)['price']))#遇到错误:MoleNotFoundError:Nomolenamed'xlrd'#写入表格的price列的前10行excel_read['Sacramento'].head(10)['price'].to_excel(wpath_excel,"price",index=False)#遇到错误:MoleNotFoundError:Nomolenamed'openpyxl'读取结果:

写入结果:

可能报错:读操作时:MoleNotFoundError:Nomolenamed'xlrd'写操作时:MoleNotFoundError:Nomolenamed'openpyxl'解决方法:#在环境里安装xlrd和openpyxl模块即可pipinstallxlrdpipinstallopenpyxl2.利用Python读写XML文件

学过java的同学对XML应该不陌生,全称是eXtensible Markup Language(扩展标记语言),虽然平时不常见,但是Web API里支持XML编码。

读写代码importpandasaspd#一个轻量的XML解析器importxml.etree.ElementTreeasETimportos"""读入XML数据,返回pa.DataFrame"""defread_xml(xml_FileName):withopen(xml_FileName,"r")asxml_file:#读取数据,以树的结构存储tree=ET.parse(xml_file)#访问树的梗节点root=tree.getroot()#返回DataFrame格式数据returnpd.DataFrame(list(iter_records(root)))"""遍历有记录的生成器"""defiter_records(records):forrecordinrecords:#保存值的临时字典temp_dict={}#遍历所有字段forvarinrecord:temp_dict[var.attrib["var_name"]]=var.text#生成值yieldtemp_dict"""以XML格式保存数据"""defwrite_xml(xmlFileName,data):withopen(xmlFileName,"w")asxmlFile:#写头部xmlFile.write('<?xmlversion="1.0"encoding="UTF-8"?>')xmlFile.write('<records>\n')#写数据xmlFile.write('\n'.join(data.apply(xml_encode,axis=1)))#写尾部xmlFile.write("\n</records>")"""以特定的嵌套格式将每一行编码成XML"""defxml_encode(row):#第一步--输出record节点xmlItem=['<record>']#第二步--给行中每个字段加上XML格式<fieldname=···>···</field>forfieldinrow.index:xmlItem.append('<varvar_name="{0}">{1}</var>'.format(field,row[field]))#最后一步--标记record节点的结束标签xmlItem.append("</record>")return'\n'.join(xmlItem)#获取当前文件父目录路径father_path=os.getcwd()#原始数据文件路径rpath_xml=father_path+r'\data01\realEstate_trans.xml'#数据保存路径wpath_xml=father_path+r'\data01\temp_xml.xml'#读取数据xml_read=read_xml(rpath_xml)#输出头10行记录print(xml_read.head(10))#以XML格式写回文件write_xml(wpath_xml,xml_read.head(10))运行结果

代码解析

(1)read_xml(xml_FileName)函数

功能:读入XML数据,返回pa.DataFrame

这里利用到了一个轻量级的XML解析器:xml.etree.ElementTree。传入文件名,先读取文件内容,然后利用parse()函数解析XML,创建一个树状结构并存放在tree变量中,在tree对象上调用getroot()方法得到根节点,最后调用iter_records()函数,传入根节点,进而将返回的信息转换成DataFrame。

(2)iter_records(records)函数

功能:遍历有记录的生成器

iter_records()方法是一个生成器,从关键字yield可以看出来,与return不同,生成器每次只向主调方法返回一个值,直到结束。

(3)write_xml(xmlFile, data)函数

功能:以XML格式保存数据

这里需要注意的是得按XML文件格式进行保存,我们要做的就是三步:保存头部格式、按格式保存数据、保存尾部格式。保存数据时用到了DataFrame对象的apply()方法,遍历内部每一行,第一个参数xml_encode指定了要应用到每一行记录上的方法,axis=1表示按行处理,默认值为0,表示按列处理。

(4)xml_encode(row)函数

功能:以特定的嵌套格式将每一行编码成XML

在写数据的过程我们会调用这个方法,对每行数据进行处理,变成XML格式。

三 送你的话

昨天开了个会,然后思考了写问题,这里分享给大家:

1、思想觉悟,辩证思考。不要随声附和,要有己见,聪明的人应该是坚持输出自己的思想,从事情本身和和他人评论去思考,再辩正自己的思考,再输出;

2、少喊口号,多做实事。本来我是很推崇做个人规划的,但是,我发现不止是我周边和某些读者朋友,包括我自己,规划作的越来越假大空,规划本身没有错,错的是:现实生活中我们把规划变成了日日口号,而为能如实完成,所以我现在推崇:规划,先做再说。

坚持 and 努力 : 终有所获。

思想很复杂,

实现很有趣,

只要不放弃,

终有成名日。

—《老表打油诗》

下期见,我是爱猫爱技术的老表,如果觉得本文对你学习有所帮助,欢迎点赞、评论、关注我!

数据分析从零开始实战,Pandas读取HTML页面+数据处理解析

数据分析从零开始实战,Pandas读取HTML页面+数据处理解析前面三篇文章讲了数据分析虚拟环境创建和pandas读写CSV、TSV、JSON、Excel、XML格式的数据,今天我们继续探索pandas。一 基本知识概要1.利用Pandas检索HTML页

使用Pandas处理excel文件-(4)读写excel表格

使用Pandas的read_excel函数可以直接读取excel文件,通过设置参数可以读取指定的表格。ExcelFile类则可以用于上下文管理,同样可以实现直接或部分读取excel文件。在默认情况下,两种方法会读取第一个表格,但使用ExcelFile时,即使未指定显示哪个表格,实际上也会读入所有表格,只是默认显示第一个。若想读取所有表格...

Pandas基础之文件的读取和写入

在Pandas中,数据的读取和写入是数据分析的基本操作,涉及到csv、txt、excel等文件格式。借助第三方库如xlrd、xlwt和openpyxl,我们能够高效地处理这些文件。下面将详细介绍文件的读取和数据的写入方法。Pandas的数据读取功能强大,主要通过read_csv()、read_table()和read_excel进行。读取时,参数如header(...

使用Pandas处理excel文件-(4)读写excel表格

在Pandas中,处理Excel文件的关键操作集中在读写上。首先,核心函数read_excel用于读取Excel文件,而ExcelFile类则提供了上下文管理的方式。写入Excel文件则常用DataFrame的to_excel方法。在操作过程中,需要考虑预处理问题,例如指定读取特定的表格或列,以及对数据类型的解析和格式化。读取文件时,默认情况下,...

Pandas与EXCEL之数据读取/保存/文件分割/文件合并

首先,读取EXCEL文件。基本操作是使用`read_excel`函数,例如,读取指定sheet的数据:`read_excel`还有更多参数,可以在PyCharm中通过快捷键查看详细说明。比如,需要读取特定列,可以使用`usecols`参数。`names`参数并非用于选择列,而是用于重命名所有列。接着,Pandas在保存EXCEL文件时,如果要将多个...

Python 读取 Excel 表格的几种方法

利用Python读取Excel表格的多种方法是学习数据分析和数据科学的关键技能之一。本文将详细介绍三种方法:使用Python内置的open()方法、使用pandas读取Excel文件和利用pandas的read_excel()函数。首先,使用Python内置的open()方法尝试读取文本文件。设置相对路径`example/ex2.txt`,文本内容为“测试内容,路径和...

使用pandas库读取和处理Excel文件

首先,需要导入pandas库,这是使用其功能的基石。接下来,通过pandas的read_excel函数,指定Excel文件的路径(如"data.xlsx")和工作表名称(默认为第一个,如Sheet1),即可轻松获取DataFrame对象,这是pandas处理数据的基本单元。一旦数据加载到DataFrame中,你可以对其进行一系列处理。例如,你可以通过查看...

python学习之路--pandas读写文件

1. 文件读取使用pandas进行文件读取主要通过read_xx()函数实现,其返回的数据结构是DataFrame。以下是几种常见的文件类型及其对应的读取方法参数:1.1 excel文件pd.read_excel()函数支持读取excel文件,参数包括:sheet_name: 读取的表格名称或位置,默认从0开始。 index_col: 设置行索引,可指定列名或...

Python自动化办公篇—pandas操作Excel:读取+查看+选择+清洗+排序+筛...

Python自动化办公篇—pandas操作Excel:实战指南本文将深入探讨pandas库在Excel数据处理中的关键操作,包括:读取数据:首先,我们将学习如何使用pandas高效地从Excel文件中导入数据,无论是单个工作表还是多工作表,pandas都能轻松应对。查看数据:接着,我们将展示如何查看数据的前几行、列摘要和统计数据,以便...

pandas读取excel文件

pandas读取excel文件,输入代码如下:import pandas as pd 使用pandas读取excel文件 xls_file=pd.ExcelFile(./data/workbook.xls)xls_file.sheet_names#显示出读入excel文件中的表名字 table1=xls_file.parse(first_sheet)table2=xls_file.parse(second_sheet)xlsx_file=pd.ExcelFile(./demo.xlsx)x1=...

excel数据分析实战 大数据数据分析实战 数据分析实战45讲pdf 从零开始实战英语22 从零开始实战英语21 从零开始成为jvm实战高手 从零开始英语起步实战篇 从零开始学炒股股票入门与实战下载 数据分析与实战
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
学会自制柠檬减肥茶,健康减肥每一天 柠檬减肥茶怎么做 怎样制作柠檬减肥茶 柠檬减肥茶的做法 扬剧《恩仇记》 乙肝症状有哪些?什么是最严重的?? 请问医生乙肝有哪些病发症状?是不是有气稠与气短的病发生 孙浩英演唱会 孙浩英个人简介 孙浩英专辑 怎样取消手机号码标记? 导致苹果手机屏幕点击没反应的常见原因有哪几种 急急急!!! 前段时间妈妈双腿膝盖以下突然失去知觉了,不能走了,去医院... 为什么iPhone触屏反应慢? ...没有刺痛感,就像慢慢失去知觉的那种,怎么回事啊,我22岁。 双膝忽然失去知觉,但几分钟后就好了,是什么原因? 急! 专业医师请进! 胸膜增厚粘连会恶化吗 地下城与勇士角色介绍 ...气短,累了就感觉胸部轻微疼痛,是胸膜粘连的结果么?该怎么治_百度知 ... 哪个网站比较好招人 气胸过后会导致胸膜粘连么,粘连了怎么办 在哪个网招人 哪个网站可以招人 招人哪个平台 我妈妈的胸膜炎快一年了!现在胸膜粘连,平时咳嗽,大笑时都会疼!是不是... 胸膜粘连能慢慢恢复吗 损伤引起胸膜粘连有的治吗 有没有什么和棋魂差不多的养成动漫?金色的琴弦可以算得上是,一个机遇... 怎么取消手机标记的电话号码 哪个招聘网站免费 经期浑身冷是怎么回事 经期很冷是怎么回事啊(来月经时为什么肚子是凉凉的) 每到经期冷得要命,要穿好多衣服,吃好多热东西还觉得冷。平时就不觉得... 月经期间身上出汗然后又冷是怎么回事 石榴的形状、颜色,及味道的描写 中国哪个风水师有名 哪种形状的石榴甜 叶公好龙是指哪个生肖 叶公好龙打一正确生肖 车祸人伤交警让走简易程序是合理的吗? 车祸简易程序和普通程序的区别 医生你好!左手桡动脉和肌腱断了,在当地医院都没接上,现伤口感染化脓。请... 苹果7上市时间是哪天 为什么测量脉搏的时候一般触诊桡动脉 iphone苹果7什么时候上市?苹果7上市时间 胳膊大动脉在哪 帮忙修改一寸正面免冠彩色头像照片(参照居民身份证照片样式),规格358... ...照片(参照居民身份证照片样式)规格358像素(宽)×441像 修改下参军照片 本人近期一寸正面免冠彩色头像照片(参照居民身份证照片... 真蛇是什么