python 数据可视化 -- 读取数据
从 CSV 文件中读取数据(CSV)
import sys import csv # python 内置该模块 支持各种CSV文件 file_name = r"..\ch02_data\ch02-data.csv" # r 指明字符串不用转义 data = []try:with open(file_name) as f: # 打开文件reader = csv.reader(f) # 获取 reader 对象,通过对该对象的遍历获取文件的所有内容,默认分隔符为“,” 可以通过 dialect 指定分隔符header = next(reader) # 读取文件头data = [row for row in reader] # 读取文件内容,并存放到列表中 except csv.Error as e:print("Error reading CSV file at line %s: %s" %(reader.line_num, e))sys.exit(-1)if header:print(header)print("===========================")for datarow in data:print(datarow)
读取 tab 分隔的文件(csv)
也可以通过传统的 split("\t") 来进行分隔
import csv import sysfilename = r'../ch02_data/ch02-data.tab' data = [] try:with open(filename) as f:reader = csv.reader(f, dialect = csv.excel_tab) # 指定 tab 分隔符header = next(reader)data = [row for row in reader] # 将文件内容读入列表 except csv.Error as e:print("Error reading CSV file at line %s: %s" % (reader.line_num, e))sys.exit(1)if header:print(header)print('===================') for datarow in data:print(datarow)
从 Excel 中读取数据
www.python-excel.org 项目提供的软件包可以方便 python 处理 excel 文件。
该项目提供的 package 有:openpyxl xlsxwriter xlrd xlwt xlutils
安装方法:以管理员方式打开 cmd --> pip install xlrd
import xlrd ## 专门读取 excel 的 package # from pprint import pprint file = r"..\ch02_data\ch02-xlsxdata.xlsx" wb = xlrd.open_workbook(filename = file) # 读取 excel 文件,返回 xlrd.book.Book 类的实例对象 ws = wb.sheet_by_name("Sheet1") # 根据 sheet name 读取 sheet 中的数据,返回 xlrd.sheet.Sheet 类的实例对象 data_set = [] for r in range(ws.nrows): # sheet 的行数col = []for c in range(ws.ncols): # sheet 的列数col.append(ws.cell(r, c).value) # 获取指定的 Cell 的实例对象,通过 value 属性获取值 data_set.append(col) # pprint(data_set) for i in data_set:print(i)
从定宽数据文件导入数据(struct)
import struct # 该 module 执行 python 值和 C 结构体之间的转换,从而形成 python 字节对象 datafile = r"../ch02_data/ch02-fixed-width-1M.data" # mask = bytes('9s15s5s', encoding = 'utf-8') # bytes 内置函数返回一个新的 bytes 对象。 mask = '9s15s5s' with open(datafile, 'rb') as f: # 以二进制格式打开一个文件用于只读for line in f:fields = struct.Struct(mask).unpack_from(line) # 根据 mask 描述的格式,将 bytes 反向解析出来,返回一个元组print('fields: ', [field.strip() for field in fields])
从数据库读写数据
import sqlite3 import sys from builtins import str# 向数据库中写入数据 if len(sys.argv) < 2:print("Error: You must supply at least SQL script.")print("Usage: %s table.db ./sql-dump.sql" % (sys.argv[0]))sys.exit(1)script_path = sys.argv[2] # sql脚本文件if len(sys.argv)== 3:db = sys.argv[1] # 写入的数据库文件 else:db = ":memory:"try:con = sqlite3.connect(db) # 返回一个 sqlite3.Connection 对象实例 with con:cur = con.cursor() # 返回一个 sqlite3.Cursor 对象实例with open(script_path, 'rb') as f:cur.executescript(f.read().decode()) except sqlite3.Error as err:print("Error occured: %s" % err)# 从数据库中读取数据 db = sys.argv[1] try:con = sqlite3.connect(db)with con:cur = con.cursor() # 得到一个游标对象,用于遍历数据库放回的结果集中的记录query = 'SELECT ID, Name, Population FROM City ORDER BY Population DESC LIMIT 10'con.text_factory = str # 该属性控制返回对象的数据类型cur.execute(query) # 执行查询语句resultset = cur.fetchall() # 获取查询结果集汇总所有的记录,返回一个列表,每个查询记录是一个元组col_names = [cn[0] for cn in cur.description] # description 属性提供了列的描述信息,每列的描述是一个7个元素的元组print("%10s %30s %10s" % tuple(col_names))print("="*(10 + 1+ 30 + 1 + 10))for row in resultset:print("%10s %30s %10s" % row) except sqlite3.Error as err:print("[ERROR]: ", err)
sql 脚本文件
DROP TABLE IF EXISTS 'City'; CREATE TABLE `City` (`ID` int(11) NOT NULL ,`Name` char(35) NOT NULL ,`CountryCode` char(3) NOT NULL ,`District` char(20) NOT NULL ,`Population` int(11) NOT NULL ,PRIMARY KEY (`ID`) );INSERT INTO `City` VALUES (1,'Kabul','AFG','Kabol',1780000); INSERT INTO `City` VALUES (2,'Qandahar','AFG','Qandahar',237500); INSERT INTO `City` VALUES (3,'Herat','AFG','Herat',186800); INSERT INTO `City` VALUES (4,'Mazar-e-Sharif','AFG','Balkh',127800); INSERT INTO `City` VALUES (5,'Amsterdam','NLD','Noord-Holland',731200); INSERT INTO `City` VALUES (6,'Rotterdam','NLD','Zuid-Holland',593321); INSERT INTO `City` VALUES (7,'Haag','NLD','Zuid-Holland',440900); INSERT INTO `City` VALUES (8,'Utrecht','NLD','Utrecht',234323); INSERT INTO `City` VALUES (9,'Eindhoven','NLD','Noord-Brabant',201843); INSERT INTO `City` VALUES (10,'Tilburg','NLD','Noord-Brabant',193238); INSERT INTO `City` VALUES (11,'Groningen','NLD','Groningen',172701); INSERT INTO `City` VALUES (12,'Breda','NLD','Noord-Brabant',160398); INSERT INTO `City` VALUES (13,'Apeldoorn','NLD','Gelderland',153491); INSERT INTO `City` VALUES (14,'Nijmegen','NLD','Gelderland',152463); INSERT INTO `City` VALUES (15,'Enschede','NLD','Overijssel',149544);
读取图片
import matplotlib.pyplot as plt import scipy.miscbug = scipy.misc.imread('stinkbug.png')plt.figure(1) plt.gray() plt.imshow(bug) plt.colorbar()plt.figure(2) bug = bug[:,:,0] plt.subplot(121) plt.imshow(bug)zbug = bug[100:350, 140:350]plt.subplot(122) plt.imshow(zbug) plt.colorbar() plt.show()
转载于:https://www.cnblogs.com/0820LL/p/10330718.html
python 数据可视化 -- 读取数据相关推荐
- python数据可视化读取excell文件绘制图像详细教程
python数据可视化读取excell文件绘制图像详细教程 python数据可视化 python库中的基本用法 import pandas as pd # 调用pandas库 来读取excell的文件 ...
- Python 数据可视化—下载数据(CSV文件格式、JSON格式)
Python 数据可视化-下载数据CSV文件格式.JSON格式 网上下载数据,并对这些数据进行可视化,可视化以两种常见格式存储的数据:CSV 和JSON. 我们将使用Python模块csv 来处理以C ...
- Python使用库读取数据
1.用Pandas库读取数据 Pandas读取数据的方法有很多,这里就举一个最常用的方法read_csv.read_csv用来读取csv格式的数据文件,具体操作如下, 需要注意的是在读取数据的代码中也 ...
- python可视化的优势_「数据可视化」数据可视化的优势有哪些?
数据可视化的优势有哪些?大数据可视化的实际意义是协助人更强的分析数据,信息内容的品质挺大水平上取决于其表达形式.对大数字列举所构成的数据信息中所包括的实际意义开展剖析,使剖析結果数据可视化. 实际上大 ...
- MATLAB-基于长短期记忆网络(LSTM)的SP500的股票价格预测 股价预测 matlab实战 数据分析 数据可视化 时序数据预测 变种RNN 股票预测
MATLAB-基于长短期记忆网络(LSTM)的SP500的股票价格预测 股价预测 matlab实战 数据分析 数据可视化 时序数据预测 变种RNN 股票预测 摘要 近些年,随着计算机技术的不断发展,神 ...
- 什么是数据可视化,数据可视化有什么价值
"数据可视化"这个词看上去似乎让人有点摸不着头脑,但其实在实际生活中也有类似的应用. 举个例子,媒婆给你介绍对象,前面给你铺垫一堆,如五官端正.身材修长.皮肤雪白(各种繁杂的信息描 ...
- Android 蓝牙4.0(BLE)开发实现对蓝牙的写入数据和读取数据
由于最近学校组织了一个移动APP(安卓)设计大赛,自己也学习安卓有一段时间了,就跟同学商量一起去参加试试,一拍即合,然后我们就开始想idea,因为最近可穿戴设备比较火,我们也就想试试.经过商量,我负责 ...
- SAS初学者笔记---003---利用数据步读取数据--逻辑库
003---利用数据步读取数据--逻辑库/变量输出与删除 创建逻辑库 创建逻辑库 在逻辑库中建立\调用数据集 建立数据集 调用逻辑库中的数据集 还是接之前的文章,现在继续介绍关于使用SET语句读取sa ...
- Tikz作图教程:pgfplots宏包二维数据可视化的数据导入方法
pgfplots 绘图思想简介 下面一段介绍来自pgfplots说明文档的引言部分,它对pgfplots的绘图思想作了清晰地描述: 科研工作者在交流研究结果.论文时,将数据可视化往往是必要和方便的. ...
最新文章
- windows 7 在使用无线路由或者插线出现×××感叹号排除方法
- 低功耗蓝牙系统结构流程图
- 如何入门Web前端 你可以从这几方面入手
- javascript 中文帮助文档_实战式方法学习JavaScript(1)
- 主梁弹性模量计算_如何用梁格法计算曲线梁桥?
- 删除一个非空的无用表空间
- python integer怎么用_Python core.integer方法代码示例
- oracle查询表在库中所占空间(表名所有字母必须大写‘table_name’)
- C++内存耗尽怎么办?
- C#Brush的使用(转载)
- 令人笑喷的56个代码注释,最后几个老衲实在憋不住了。。。
- 简仿Path的商店表情弹出模块
- python 折线图 excel_如何使用python读取excel数据并绘制折线图
- 香港流行乐坛三十年(很好的回忆)
- 安装 Element UI 3.0 (即 Element UI Plus) 正确方法
- 2023年美赛C题Wordle预测问题二建模及Python代码详细讲解
- Photoshop脚本 锁定图层组所有图层
- 如何选择JAVA培训机构,兼议什么样的人适合培训机构
- 贵州2021高考成绩排名查询,贵州高考排名查询方法,2021年贵州高考成绩位次全省排名查询...
- 营销-营销方式:营销方式
热门文章
- python urllib.request 爬虫 数据处理-运维学python之爬虫基础篇(二)urllib模块使用...
- 怎么进入python官网-Python的安装及简单的使用
- python话雷达图-Python 详解雷达图/蛛网图
- python语言基础-Python语言基础01-初识Python
- python经典好书-有哪些 Python 经典书籍?
- pythonweb开发-Python Web开发
- python常用内置函数总结-python 几个常用的内置函数
- 学python好不好-学历低可以学python吗?好不好就业?
- 想学python有什么用-我们为什么要选择学习python?学习python有什么用?
- php和python哪个学起来简单一点-作为初学者,php,python和ruby应学哪个?