实验目的

掌握Python语言导入数据的基本操作方法

实验原理

后台建立数据库,使用Python语言连接数据库。使用Python语言对数据库进行事务操作。

实验步骤

数据导入与准备是进行数据挖掘等机器学习的第一要素。从各种不同的格式文件中导入数据是一件比较麻烦的事。因为文件格式多种多样,那么使用导入的方法也是有所不同。

一、从CSV文件导入数据

  1. '''
  2. 步骤:
    1. 打开文件
  3. 2.读取文件头
  4. 3.读取剩余行
  5. 4当发生错误时抛出异常
  6. '''
    1. import csv
  7. import sys
  8. filename = 'data.csv'
  9. data = []
  10. try:
  11. with open(filename) as f:
  12. reader = csv.reader(f)
  13. header = reader.next()
  14. data = [row for row in reader]
  15. except csv.Error as e:
  16. print ("Error reading CSV file at line %s : %s" % (reader.line_num, e))
  17. sys.exit(-1)
  18. if header:
  19. print (header)
  20. print ("==========")
  21. for datarow in data:
  22. print (datarow)

二、从Excel文件中导入数据

  1. '''
  2. 步骤:
    1. 打开文件的工作簿。
    1. 根据名称找到工作表。根据行数(nrows)和列数(ncols)读取单元格的内容。
    1. 打印出数据集合。
  3. '''
  4. import xlrd
  5. file = 'output.xls'
  6. wb = xlrd.open_workbook(file)
  7. ws = wb.sheet_by_name("sheet1")
  8. dataset = []
  9. for r in xrange(ws.nrows):
  10. col = []
  11. for c in range(ws.ncols):
  12. col.append(ws.cell(r, c).value)
  13. dataset.append(col)
  14. # 美化打印
  15. from pprint import pprint
  16. pprint(dataset)

三、从定宽数据文件导入数据'''

  1. 步骤:
  2. 1.指定要读取的数据文件。
  3. 2.定义数据读取的方式。
  4. 3.逐行读取文件并根据格式把每一行解析成单独的数据字段。
  5. 4.按单独数据字段的形式打印每一行。
  6. '''
  7. import struct
  8. datafile = 'fix-width.data'
  9. # 掩码定义为5s10s5s,表示为9个字符的字符串,跟一个10个字符的字符串,再跟一个5个字符的字符串(包括空格)。
  10. mask = '5s10s5s'
  11. results = []
  12. with open(datafile, 'r') as f:
  13. for line in f:
  14. # 用格式解析的unpack_from方法。
  15. fields = struct.Struct(mask).unpack_from(line)
  16. results.append([field.strip() for field in fields])
  17. from pprint import pprint
  18. pprint(results)

注意:python2中print语句不加括号,python3中print语句打印内容要加括号!

results matching ""

    No results matching ""