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 相关文章推荐
sqlalchemy对象转dict的示例
Apr 22 Python
Python原始字符串与Unicode字符串操作符用法实例分析
Jul 22 Python
Python设计模式之组合模式原理与用法实例分析
Jan 11 Python
python的一些加密方法及python 加密模块
Jul 11 Python
python实现静态服务器
Sep 05 Python
python实现高斯判别分析算法的例子
Dec 09 Python
pandas分组聚合详解
Apr 10 Python
python 异步async库的使用说明
May 04 Python
PyCharm上安装Package的实现(以pandas为例)
Sep 18 Python
python爬取微博评论的实例讲解
Jan 15 Python
Python机器学习之底层实现KNN
Jun 20 Python
python 闭包函数详细介绍
Apr 19 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 zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
IE8 原生JSON支持
2009/04/13 Javascript
一些常用的JS功能函数代码
2009/06/23 Javascript
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
JavaScript位移运算符(无符号) >>> 三个大于号 的使用方法详解
2016/03/31 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
vue elementUI tree树形控件获取父节点ID的实例
2018/09/12 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
微信小程序视频弹幕发送功能的实现
2020/12/28 Javascript
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
Python线程同步的实现代码
2018/10/03 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
行政专员工作职责
2013/12/22 职场文书
家教广告词
2014/03/19 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
2015年基层党建工作总结
2015/05/14 职场文书
python基础之文件处理知识总结
2021/05/23 Python
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
Python开发五子棋小游戏
2022/05/02 Python
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL