您的位置:首页 > 编程语言 > Python开发

Python读取等宽数据文件

2016-07-05 20:57 645 查看

背景

日志文件或者基于时间序列的文件,这种是等宽数据文件。

小文件可以逐行读取然后用字符串分割,如果对性能有要求,推荐使用
struct
模块,这个模型是用
C语言
实现的。

准备数据



步骤

指定要读取的数据文件

定义数据读取方式

逐行读取文件并按照格式把每行解析成单独的数据字段

按照单独数据字段形式打印每一行

Python代码

# -*- coding: utf-8 -*-
"""
Created on Tue Jul 05 20:47:27 2016

@author: zang
"""

import struct
import string

datafile = "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']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python struct