Python读取等宽数据文件

来源:互联网 发布:ppt图表如何修改数据 编辑:程序博客网 时间:2024/06/05 23:04

背景

  • 日志文件或者基于时间序列的文件,这种是等宽数据文件。
  • 小文件可以逐行读取然后用字符串分割,如果对性能有要求,推荐使用struct模块,这个模型是用C语言实现的。

准备数据

这里写图片描述

步骤

  • 指定要读取的数据文件
  • 定义数据读取方式
  • 逐行读取文件并按照格式把每行解析成单独的数据字段
  • 按照单独数据字段形式打印每一行

Python代码

# -*- coding: utf-8 -*-"""Created on Tue Jul 05 20:47:27 2016@author: zang"""import structimport stringdatafile = "struct_data.txt"mask = "9s15s11s"with open(datafile,"r") as f:    for line in f:        fields = struct.Struct(mask).unpack_from(line)        print 'fields:',[field.strip() for field in fields]

运行结果:

runfile('G:/Python/read_file/untitled3.py', wdir='G:/Python/read_file')fields: ['fsfdsafsa', 'fjdsalfjdslkfj', '1232431543']fields: ['fadlkfhds', 'glkdfghjlakdfd', '3143124415']fields: ['fahkjsdfh', 'hakjdffdsfdsfh', '2343785954']fields: ['hjdfhsakj', 'sdjfhsdffsdfds', '4891234767']fields: ['vdslkflkh', 'fsafhfdsfdsfzz', '4237489237']fields: ['fdsjkfhkj', 'cbsalfghksdfgg', '1278436124']
0 0
原创粉丝点击