python读取各种文件数据方法解析


Posted in Python onDecember 29, 2018

python读取.txt(.log)文件 、.xml 文件 、excel文件数据,并将数据类型转换为需要的类型,添加到list中详解

1.读取文本文件数据(.txt结尾的文件)或日志文件(.log结尾的文件)

以下是文件中的内容,文件名为data.txt(与data.log内容相同),且处理方式相同,调用时改个名称就可以了:

python读取各种文件数据方法解析

以下是python实现代码:

# -*- coding:gb2312 -*-
import json
def read_txt_high(filename):
  with open(filename, 'r') as file_to_read:
    list0 = [] #文件中的第一列数据
    list1 = [] #文件中的第二列数据
    while True:
      lines = file_to_read.readline() # 整行读取数据
      if not lines:
        break
      item = [i for i in lines.split()]
      data0 = json.loads(item[0])#每行第一个值
      data1 = json.loads(item[1])#每行第二个值
      list0.append(data0)
      list1.append(data1)
  return list0,list1

list0与list1分别为文档中的第一列数据与第二列数据。运行若是文本文件(.txt结尾的文件)输入以下:

aa,bb = read_txt_high('data.txt')
print aa
print bb

若是日志文件(.log结尾的文件),输入以下:

aa,bb = read_txt_high('data.log')
print aa
print bb

运行结果如下:

python读取各种文件数据方法解析

2.读取.xml结尾的文件

XML文件的名称为abc.xml, 内容如下图所示:

python读取各种文件数据方法解析

以下是实现代码:

# -*- coding:gb2312 -*-
# coding = utf-8
from pylab import *
import xml.dom.minidom
def read_xml():
  dom = xml.dom.minidom.parse('abc.xml')#打开xml文档
  cc=dom.getElementsByTagName('caption')
  list_str = [] #字符串
  for item in cc:
    list_str.append(str(item.firstChild.data))

  bb = dom.getElementsByTagName('maxid')
  list_fig = []
  for item in bb:
    list_fig.append(item.firstChild.data)
  su = list_fig[0].encode("gbk")
  list_fig2 = su.split(",")
  list_fig_num = []
  for i in list_fig2:
    list_fig_num.append(int(i))

  ee = dom.getElementsByTagName('time')
  list_tim = []
  for item in ee:
    list_tim.append(item.firstChild.data)
  sg = list_tim[0].encode("gbk")
  list_time = sg.split(",")

  gg = dom.getElementsByTagName('font_size')
  g1 = []
  for item in gg:
    g1.append(item.firstChild.data)
  su = g1[0].encode("gbk")
  return list_str,list_fig_num,list_time,su

调用此函数如下所示:

a,b,c,d = read_xml()
print a
print b
print c
print d

输出结果如下图所示:

python读取各种文件数据方法解析

3.读取excel文件数据,并将其存入list列表中

excel表格中的数据如下图所示,表格命名为data.xlsx:

python读取各种文件数据方法解析

首先将ID列中的数据保存到列表list_col中,实现代码如下所示:

# -*- coding: utf-8 -*-
import xlrd
import json

def read_ex_stop_PTline():
  # 打开文件
  workbook = xlrd.open_workbook(r'data.xlsx')
  sheet = workbook.sheet_by_name('PTline')
  list_col = []
  for i in range(1,sheet.nrows):
    c = sheet.cell(i,3).value
    list_col.append(int(c))
  print list_col

调用此函数,输出结果如下:

python读取各种文件数据方法解析

以下将linkIDsequence列数据存放到一个list中,即list_ele中,实现代码如下:

# -*- coding: utf-8 -*-
import xlrd
import json

def read_ex_stop_PTline():
  # 打开文件
  workbook = xlrd.open_workbook(r'data.xlsx')
  sheet = workbook.sheet_by_name('PTline')
  list_ele = [] #第八列的所有数据放入一个list中
  for i in range(1,sheet.nrows):
    c = sheet.cell(i, 8).value
    cc = json.loads(c) #第八列的每个单元格处理为一个list
    for j in range(len(cc)):
      list_ele.append(cc[j])
  print list_ele

调用函数read_ex_stop_PTline,输出结果如下图所示:

python读取各种文件数据方法解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅析python 中__name__ = '__main__' 的作用
Jul 05 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
Python爬虫实战:分析《战狼2》豆瓣影评
Mar 26 Python
Python实现简单的用户交互方法详解
Sep 25 Python
python匹配两个短语之间的字符实例
Dec 25 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
python使用matplotlib绘制雷达图
Oct 18 Python
python 有效的括号的实现代码示例
Nov 11 Python
django日志默认打印request请求信息的方法示例
May 17 Python
导致python中import错误的原因是什么
Jul 01 Python
MoviePy常用剪辑类及Python视频剪辑自动化
Dec 18 Python
pandas中pd.groupby()的用法详解
Jun 16 Python
python 读取鼠标点击坐标的实例
Dec 29 #Python
对python for 文件指定行读写操作详解
Dec 29 #Python
Python实现二维曲线拟合的方法
Dec 29 #Python
python修改txt文件中的某一项方法
Dec 29 #Python
神经网络相关之基础概念的讲解
Dec 29 #Python
Python实现的KMeans聚类算法实例分析
Dec 29 #Python
Python使用pyshp库读取shapefile信息的方法
Dec 29 #Python
You might like
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
windows7下php开发环境搭建图文教程
2015/01/06 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
JS的反射问题
2010/04/07 Javascript
jquery maxlength使用说明
2011/09/09 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
2016/12/13 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
python每次处理固定个数的字符的方法总结
2013/01/29 Python
Pyramid添加Middleware的方法实例
2013/11/27 Python
深入Python函数编程的一些特性
2015/04/13 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
python开发之thread实现布朗运动的方法
2015/11/11 Python
Python模拟登陆实现代码
2017/06/14 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
浅谈Python 递归算法指归
2019/08/22 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
农救科工作职责
2013/11/27 职场文书
户外婚礼策划方案
2014/02/08 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
新闻稿标题
2015/07/18 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis