数据可视化(1)-- 从csv,excel中导入数据

从CSV格式文件中导入数据

csv格式的文件中数据以逗号作为分割,python库中csv模块支持读写各种方言1版本的csv文件。

操作步骤
	import csv
	from pprint import pprint  // pprint可以自动识别列表中的行实现分行输出

	filename = 'ch02-data.csv'
	data = []
	try:
		with open(filename,'r') as f:
			header = csv.reader(f)
			reader = next(header)  // 此处python3取消了reader.next()而用next()函数取而代之
			data = [ row for row in reader ]
	except FileNotFoundError : 
		msg = 'Sorry, the file' + filename + 'does not exist'
		print(msg)
	
	if header :
		print(header)
		print("=========")
	pprint(data)
工作原理
  • 导入csv模块后,用with语句打开文件,打开方式可以设置( ’ r ’ ),若只读取也可不具体设置
  • 用with语句打开后,with语句的上下文管理器会帮助处理打开关闭文件,不必手动用close函数关闭文件
  • 用csv模块中reader方法返回reader对象,并通过此对象来读取文件所有行
  • 读取文件所有行时可以用列表解析式,或者麻烦一点用for循环2挨个读取
  • csv文件中可能有文件头也可能没有,文件头是为了帮助读文件的人了解各数据的具体用处
补充

也可以用numpy中的loadtxt方法

import numpy
data = numpy.loadtxt(filename, dtype='string', delimiter=',')

从EXCEL文件中读入数据

操作步骤
	import xlrd
	filename = 'ch02-xlsxdata.xlsx'
	wb = xlrd.open_workbook(filename)
	ws= wb.Sheet_by_name('Sheet1')
	
	dataset = [ ]
	
	for r in range(ws.nrows) :
		col = [ ]
		for c in range(ws.ncols) :
			col.append(ws.cell(r,c).value)
		dataset.append(col)
	
	from pprint import pprint
	pprint(dataset)
工作原理
  • xlrd模块中包含了处理xlsx文件的各种方法
  • open_workbook方法通过传入一个filename值打开一个文件,再通过Sheet_by_name()方法打开一个sheet
  • 再通过两个循环 range(ws.xrows), range(ws.xcols)一次用wx.cell(r,c).value来读取各单元格的数值

  1. csv文件分隔符可以是逗号,分号,冒号等,在csv模块中dialect类中可以修改 ↩︎

  2. 将列表解析式改为for循环,在用data.append()方法 ↩︎

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值