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实现简单温度转换的方法
Mar 13 Python
Python中的函数作用域
May 07 Python
python学习之hook钩子的原理和使用
Oct 25 Python
Django csrf 两种方法设置form的实例
Feb 03 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
Python函数参数类型及排序原理总结
Dec 19 Python
pytorch 图像预处理之减去均值,除以方差的实例
Jan 02 Python
Python3.7实现验证码登录方式代码实例
Feb 14 Python
python 实现两个npy档案合并
Jul 01 Python
scrapy中如何设置应用cookies的方法(3种)
Sep 22 Python
python中pd.cut()与pd.qcut()的对比及示例
Jun 16 Python
Python中的socket网络模块介绍
Jul 23 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输出表格的实现代码(修正版)
2010/12/29 PHP
php 获取全局变量的代码
2011/04/21 PHP
php 生成唯一id的几种解决方法
2013/03/08 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
PHP curl使用实例
2015/07/02 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
kindeditor修复会替换script内容的问题
2015/04/03 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
python默认参数调用方法解析
2020/02/09 Python
Python 自由定制表格的实现示例
2020/03/20 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
安全负责人任命书
2014/06/06 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
市场部岗位职责范本
2015/04/15 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
安全教育片观后感
2015/06/17 职场文书
辞职申请书范本
2019/05/20 职场文书
Python Django ORM连表正反操作技巧
2021/06/13 Python
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers