点击查看第一篇文章:

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

数据分析 从零开始到实战,Pandas读写CSV数据

python入门到进阶,爬虫数据分析全套资料分享讲解

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

一 基本知识概要

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

二 开始动手动脑

1.利用Python读写Excel

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

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

代码

import pandas as pd
import os# 获取当前文件父目录路径
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) for sheetName in excel_file.sheet_names}# 输出Sacramento表格的price列的头10行记录
print(excel_read['Sacramento'].head(10)['price'])
print(type(excel_read['Sacramento'].head(10)['price']))
# 遇到错误:ModuleNotFoundError: No module named 'xlrd'# 写入表格的price列的前10行
excel_read['Sacramento'].head(10)['price'].to_excel(wpath_excel, "price", index=False)
# 遇到错误:ModuleNotFoundError: No module named 'openpyxl'
复制代码

读取结果:

写入结果:

可能报错:

读操作时:
ModuleNotFoundError: No module named 'xlrd'
写操作时:
ModuleNotFoundError: No module named 'openpyxl'
复制代码

解决方法:

# 在环境里安装xlrd和openpyxl模块即可
pip install xlrd
pip install openpyxl
复制代码

2.利用Python读写XML文件

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

读写代码

import pandas as pd
# 一个轻量的XML解析器
import xml.etree.ElementTree as ET
import os"""读入XML数据,返回pa.DataFrame
"""
def read_xml(xml_FileName):with open(xml_FileName, "r") as xml_file:# 读取数据,以树的结构存储tree = ET.parse(xml_file)# 访问树的梗节点root = tree.getroot()# 返回DataFrame格式数据return pd.DataFrame(list(iter_records(root)))"""遍历有记录的生成器
"""
def iter_records(records):for record in records   :# 保存值的临时字典temp_dict = {}# 遍历所有字段for var in record:temp_dict[var.attrib["var_name"]] = var.text# 生成值yield temp_dict"""以XML格式保存数据
"""
def write_xml(xmlFileName, data):with open(xmlFileName, "w") as xmlFile:# 写头部xmlFile.write('<?xml version="1.0" encoding="UTF-8"?>')xmlFile.write('<records>\n')# 写数据xmlFile.write('\n'.join(data.apply(xml_encode, axis=1)))# 写尾部xmlFile.write("\n</records>")"""以特定的嵌套格式将每一行编码成XML
"""
def xml_encode(row):# 第一步--输出record节点xmlItem = ['  <record>']# 第二步--给行中每个字段加上XML格式<field name=···>···</field>for field in row.index:xmlItem.append('<var var_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、少喊口号,多做实事。本来我是很推崇做个人规划的,但是,我发现不止是我周边和某些读者朋友,包括我自己,规划作的越来越假大空,规划本身没有错,错的是:现实生活中我们把规划变成了日日口号,而为能如实完成,所以我现在推崇:规划,先做再说。

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

  1. pandas读写Excel表格数据

    [高心星出品] 文章目录 前言 一.pandas是什么? 二.使用步骤 1.安装pandas库 2.安装openpyxl库 3.导入pandas库 4.pandas读取表格数据 5.将数据存入表格 总 ...

  2. Python入门到实战(五)自动化办公、pandas操作Excel、数据可视化、绘制柱状图、操作Word、数据报表生成、pip install国内镜像下载

    Python入门到实战(五)conda使用.pandas操作Excel.数据可视化.绘制柱状图.操作Word.数据报表生成.pip install国内镜像下载 conda使用 常用操作 配置VS+Co ...

  3. python pandas读取excel-Python使用Pandas读写Excel实例解析

    这篇文章主要介绍了Python使用Pandas读写Excel实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Pandas是python的一个 ...

  4. python pandas写入_51-python3 pandas读写excel

    0. 前言 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模 ...

  5. python中用pandas读写excel表格,根据关键字查找填表(类似vlookpup)

    python中用pandas读写excel表格,根据关键字查找填表(类似vlookpup) excel的vlookup出了N/A值 相关的库 读取和写入excel文件 查找赋值1 遍历表格每行 查找填 ...

  6. pandas读写结构化数据(read_csv,read_table, read_excel, read_html, read_sql)

    pandas读写结构化数据(read_csv,read_table, read_excel, read_html, read_sql) 如果你不知道pandas目前提供的读取数据的API或者自己在当前 ...

  7. 用AHK读写Excel表格数据

    这是用AHK读写Excel表格数据的例子,可以用于自动化编程中. 优点是:利用COM读取Excel表格数据,不用来回切换,且比复制可靠. ;------------------------------ ...

  8. java读写excel表格数据

    java读写excel表格数据 java读写excel表格数据 excel类 package excel;import java.io.File; import jxl.Cell; import jx ...

  9. pandas输出到excel_python读写excel等数据文件方法汇总

    python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv.txt等).excel文件.数据库文件.api等. 下面整理下python有哪些方式可以读取数据文件. 1. python ...

最新文章

  1. STL源代码分析(ch 1)组态1
  2. 怎样用命令行生成自己的签名文件keystore
  3. nodejs里的module.exports和exports
  4. 可口可乐在人工智能和大数据领域的7项应用
  5. django-模板的继承
  6. 《全景探秘游戏设计艺术》精华 用户体验 游戏平衡性
  7. 解密初、中、高级程序员的进化之路(前端)
  8. GITHUB使用简介
  9. java list初始容量_java中快速创建带初始值的List和Map实例
  10. android camera2预览方向,Android camera2预览无法在横向模式下正常工作
  11. 直播平台开发时关于生成邀请码的开发
  12. c/c++ 输入两个日期,计算日期相差多少天
  13. 获取Android设备的唯一识别码|设备号|序号|UUI
  14. java 随机字母_Java基础之随机生成数字和字母
  15. 表格下拉选项怎么添加,开启快速添加模式
  16. 相关系数,互相关函数,协方差,卷积
  17. young GC和Full GC的区别、什么时候触发young gc和Full GC、如何优化GC
  18. matlab在读取或者导入excel时,服务器出现意外情况
  19. 2021年福建省安全员B证(项目负责人)考试试题及福建省安全员B证(项目负责人)作业模拟考试
  20. 4月3日的中九pid,还是3月3日的

热门文章

  1. cookie追加数据_集算器 SPL 抓取网页数据
  2. pandas使用read_csv函数读取文件最后N行数据并保留表头、pandas使用read_csv函数读取网络url链接数据
  3. R语言使用fs包的path_wd函数基于自定义文件路径规则,批量生成多个文件或者文件夹对应的绝对(absolute)文件路径(constructs absolute path)
  4. Python可视化(matplotlib)在图像中添加文本和标记(Text and Annotation)
  5. KDT 对比 DDT 小栗子
  6. 毕业论文答辩老师最想听到什么?最关注的问题是什么?
  7. Linux下编译安装Boost1.66
  8. 计算机网络(谢希仁)-第一章:概述
  9. flask 渲染 vue 打包后的dist文件(直接用后端渲染)
  10. 4.Java面向对象相关知识总结