实验目的
掌握Python语言导入数据的基本操作方法
实验原理
后台建立数据库,使用Python语言连接数据库。使用Python语言对数据库进行事务操作。
实验步骤
数据导入与准备是进行数据挖掘等机器学习的第一要素。从各种不同的格式文件中导入数据是一件比较麻烦的事。因为文件格式多种多样,那么使用导入的方法也是有所不同。
一、从CSV文件导入数据
- '''
- 步骤:
- 打开文件
- 2.读取文件头
- 3.读取剩余行
- 4当发生错误时抛出异常
- '''
- import csv
- import sys
- filename = 'data.csv'
- data = []
- try:
- with open(filename) as f:
- reader = csv.reader(f)
- header = reader.next()
- 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文件中导入数据
- '''
- 步骤:
- 打开文件的工作簿。
- 根据名称找到工作表。根据行数(nrows)和列数(ncols)读取单元格的内容。
- 打印出数据集合。
- '''
- import xlrd
- file = 'output.xls'
- wb = xlrd.open_workbook(file)
- ws = wb.sheet_by_name("sheet1")
- dataset = []
- for r in xrange(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)
三、从定宽数据文件导入数据'''
- 步骤:
- 1.指定要读取的数据文件。
- 2.定义数据读取的方式。
- 3.逐行读取文件并根据格式把每一行解析成单独的数据字段。
- 4.按单独数据字段的形式打印每一行。
- '''
- import struct
- datafile = 'fix-width.data'
- # 掩码定义为5s10s5s,表示为9个字符的字符串,跟一个10个字符的字符串,再跟一个5个字符的字符串(包括空格)。
- mask = '5s10s5s'
- results = []
- with open(datafile, 'r') as f:
- for line in f:
- # 用格式解析的unpack_from方法。
- fields = struct.Struct(mask).unpack_from(line)
- results.append([field.strip() for field in fields])
- from pprint import pprint
- pprint(results)
注意:python2中print语句不加括号,python3中print语句打印内容要加括号!