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进阶教程之词典、字典、dict
Aug 29 Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
Python 探针的实现原理
Apr 23 Python
python中import reload __import__的区别详解
Oct 16 Python
Python创建二维数组实例(关于list的一个小坑)
Nov 07 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
Mar 05 Python
python的pygal模块绘制反正切函数图像方法
Jul 16 Python
Python秒算24点实现及原理详解
Jul 29 Python
在pytorch中为Module和Tensor指定GPU的例子
Aug 19 Python
python 实现aes256加密
Nov 27 Python
用Python提取PDF表格的方法
Apr 11 Python
Python异常类型以及处理方法汇总
Jun 05 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
php4的session功能评述(一)
2006/10/09 PHP
数据库的日期格式转换
2006/10/09 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
jquery中ajax学习笔记3
2011/10/16 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
jQuery中add()方法用法实例
2015/01/08 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
Vue中computed与methods的区别详解
2018/03/24 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
Python模块搜索路径代码详解
2018/01/29 Python
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
XML文档面试题
2015/08/05 面试题
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
孝老爱亲模范事迹
2014/01/24 职场文书
村干部承诺书
2014/03/28 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
市场营销调查计划书
2014/05/02 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
公司授权委托书
2014/10/17 职场文书
2014年档案室工作总结
2014/12/01 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript