前言

Python语言在人工智能以及计算机视觉领域十分热门,它处理数据的能力很出色,兼容各种常用的数据类型解析。程序无非就是一系列数据操作行为的集合,从输入到输出以求得人们期望的结果。Python在执行效率和开发效率中找到平衡点,很适合快速开发算法复杂,数据处理量大的应用。高效率的数据处理能力离不开结构化的数据交互,python当然对CSV,JSON、XML这些常用的结构化数据类型是完美兼容的。

Python CSV解析

CSV逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),它通常用于在电子表格软件和纯文本之间交互数据,其文件以纯文本形式存储表格数据(数字和文本)。从真正意义上说它并不是结构化的数据,而仅仅是一些用逗号分隔的原始字符串。

Python中对于特定的一些简单CSV文件用str.split(‘,’)就能满足要求,但是不推荐这么做,因为某些字段值可能存在嵌套关系。Python有专门用于解析和生成的CSV的库,如csv模块。

Python应用csv样例

#! /usr/bin/env pythonimport csv
from distutils.log import warn as printf
DATA = (('id', 'name', 'age','sex','wage'),(1, '小李', 24, 'm', '8000'),(2, '小王', 25, 'm', '6000'),(3, '小杜', 23, 'w', '6000'),
)
printf('*** Write CSV DATA')
f = open('wageinfo.csv','w',newline='')
writer = csv.writer(f)
for record in DATA:writer.writerow(record)print(record)
f.close()printf('read csv data')
f = open('wageinfo.csv','r')
reader = csv.reader(f)
for id,name,age,sex,wage in reader:printf('id %s: name: %s age: %s sex: %s wage: %s' %(id,name,age,sex,wage))
f.close()

Python JSON数据解析

JSON(JavaScript Object Notation, JS 对象简谱)是轻量级的数据交换方式,也是以人类易读懂的方式传输结构化数据,这使得它在网络传输方面应用很广,前后端的数据交换格式通常也是JSON,python这门在网路爬虫方面性能优异的语言当然也会完美支持JSON的解析,在程序中引用json模块即可。

JSON本质是字符串,它通过键/值(key/value)的方式将数据结构化,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值,当然也可以进行多层嵌套以实现更为复杂的数据结构类型。

Python应用JSON样例

#! /usr/bin/env pythonfrom distutils.log import warn as printf
from json import dumps
from pprint import pprintBOOKs = {'2019010101':{'tilte':'Core Python Programming','edition':2,'year':2019,},'2019010102':{'title':'Python web Development with Django','authors':['Jeff Forcier','Pual Bissex','Wesley Chun'],'year':2019,},'2019010103':{'title':'Python Fundamenttals','year':2019,},
}
printf(' RAW DICT')
printf('BOOKs')printf('\n PRETTY_PRINTEDDICT')
pprint(BOOKs)printf('\n RAW JSON')
printf(dumps(BOOKs))printf('\n PRETTY_PRINTEDJSON')
printf(dumps(BOOKs,indent=4))

Python XML数据解析

XML 指可扩展标记语言(eXtensible Markup Language),是一种比较老的结构化数据格式,相比JSON来说还是比较难一眼就看清它的数据内容的,在高级语言程序中通常有相应的解析器来实现对XML格式化数据操作。

XML文档与HTML非常类似,但XML并不是HTML的替代,它们设计目的不同,XML 被设计用来传输和存储数据,其焦点是数据的内容,而HTML 被设计用来显示数据,其焦点是数据的外观。但它们的结构类似,由一些元素和属性构成。

Python应用XML样例

#! /usr/bin/env pythonfrom xml.etree.ElementTree import Element,SubElement,tostring
from xml.dom.minidom import parseStringBOOKs = {'2019010101':{'tilte':'Core Python Programming','edition':2,'year':2019,},'2019010102':{'title':'Python web Development with Django','authors':['Jeff Forcier','Pual Bissex','Wesley Chun'],'year':2019,},'2019010103':{'title':'Python Fundamenttals','year':2019,},
}books = Element('books')
for isbn,info in BOOKs.items():book = SubElement(books,'book')info.setdefault('authors','Wesley Chun')info.setdefault('edition',1)for key,val in info.items():SubElement(book,key).text = ', '.join(str(val).split(':'))xml = tostring(books)
print (' RAW XML')
print (xml)print ('\nPRETTY_PRINTED XML')
dom = parseString(xml)
print (dom.toprettyxml('  '))print (' FLAT STRUCTURE')
for elmt in books.getiterator():print (elmt.tag, '_',elmt.text)print ('\n TITLES ONLY')
for book in books.findall('.//title'):print (book.text)

总结

Python在人工智能以及计算机视觉领域十分热门,它强大的类库支持对快速开发应用提供了可能性,相比于C/C++开发来说,它只需要一个简单的文件编辑工具,甚至连编译都不用就能运行代码,带你探索新世界。它既有近似于底层C/C++的运行效率,也有JAVA这种高级语言的面向对象开发效率,简直perfect,记2018年末于广州。

Python数据解析相关推荐

  1. python数据解析——xpath爬取文字和图片

    xpath解析:最常用且最便捷高效的一种解析方式,通用性. xpath解析原理: 1.实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中. 2.调用etree对象中的xpath方法 ...

  2. Python数据解析的三种方式

    一,正则表达式解析 在爬虫中,下面两种方式用的多一些~ 大致用法: pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i&g ...

  3. 第二十七篇 网页数据解析三种方法: 正则表达--BeautifulSoup--xpath 满满的干货

    心得: 生活不允许自己懈怠自己,革命尚未成功,同志还须努力,有句话说的好,你尽管努力,剩下的交给天意. 我们从网页上抓取的原始数据大多都是html的数据格式,那如何从html中提取想要的字符串,得需要 ...

  4. 解析python数据后用html输出

    哥们做android自动化测试,可是无奈报告输出字段不是自己想要的,于是想自己解析测试报告,所以想了个方法,还不完善记录分享一下 #-*-coding:utf-8-*- import json,csv ...

  5. python初学者教程我要自学网-我要自学网--json 数据解析-python。

    python可以使用json数据模块对json 进行数据解析. json.dump(): 将python数据装换为json数据. json.load(0: 将json数据装换为python数据. py ...

  6. python爬虫中三种数据解析方式

    一.正解解析 常用正则表达式: 单字符: .: 除换行以外所有字符 []:[aoe] [a-w]匹配集合中任意一个字符 \d:数字 [0-9] \D: 非数字 \w :数字.字母.下划线.中文 \W ...

  7. 29-30Python多线程、多线程、使用threading模块创建线程;JSON数据解析、编码为JSON类型转换对应表、Python类型转换对应表、json.dumps与json.loads

    29Python3多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些 ...

  8. python为什么closed_为什么Python无法解析此JSON数据? [关闭] - Why can't Python parse this JSON data? [closed]...

    问题: I have this JSON in a file: 我在文件中有此JSON: { "maps": [ { "id": "blabla&qu ...

  9. python教程我要自学网-我要自学网--json 数据解析-python。

    python可以使用json数据模块对json 进行数据解析. json.dump(): 将python数据装换为json数据. json.load(0: 将json数据装换为python数据. py ...

  10. Python+Open3D 解析Velodyne VLP-16激光雷达数据

    Python+Open3D 解析Velodyne VLP-16激光雷达数据 参数简介 数据包介绍 实际数据介绍 坐标转换关系 补偿半径 运行结果 代码 最近在公司搞了搞激光雷达,把代码写一写. 参数简 ...

最新文章

  1. linux虚拟内存当硬盘,linux里面虚拟内存和swap有什么不同?
  2. Hangfire源码解析-如何实现可扩展IOC的?
  3. Mysql的安装与远程登录
  4. innodb 悲观锁 乐观锁_mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁
  5. 微信公众帐号开发教程第16篇-应用实例之历史上的今天
  6. python json loads 中文乱码_python实现智能语音天气预报
  7. canvas学习(十):font字体设置
  8. 大漠插件最新版7.2111
  9. 各平均数介绍(算数平均数、几何平均数、加权算术平均数)
  10. 使用 OpenGL 实现 RGB 到 YUV 的图像格式转换
  11. 凡诺CMS一处文件包含漏洞
  12. javascript 判断参数是否为非0整数数字或者整数数字字符串的简单方法(小装逼)
  13. [转载] 晓说——第17期:揭秘战争秘闻 朝鲜战争62年祭(下)
  14. 微信公众号广告市场如此之大,还不抓住这个淘金的好机会
  15. 基于STM32的12864液晶理解
  16. 手机投屏不是全屏怎么办_手机投屏怎样才能全屏
  17. X书Scheme跳转到指定页面
  18. 6.3.1.8 Packet Tracer - 探索网络互联设备-熟悉Packet Tracer模拟器
  19. Java实现 蓝桥杯 算法训练 天数计算
  20. 第十一篇:读《文明,现代化,价值投资与中国》

热门文章

  1. 如何在Windows下载pygame
  2. Java基础练习题——查找整数
  3. 《Java疯狂讲义》重点及相关信息 第一章
  4. OTDR系统的分类的特点
  5. windows上修改docker镜像保存地址
  6. 计算机三级网络技术备考复习资料
  7. 信捷电子凸轮使用_1.电子凸轮入门应用之基础知识介绍
  8. axure 2021.04.26
  9. 面试要求 熟悉linux系统,Linux面试中最常问的10个问题总结
  10. 单片机c语言必背代码_stm32单片机编程用库函数好还是寄存器好?