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中的Null模式与桥接模式编程
Feb 02 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
Python selenium如何设置等待时间
Sep 15 Python
Python之文字转图片方法
May 10 Python
python3 面向对象__类的内置属性与方法的实例代码
Nov 09 Python
python适合人工智能的理由和优势
Jun 28 Python
Python vtk读取并显示dicom文件示例
Jan 13 Python
python numpy 矩阵堆叠实例
Jan 17 Python
django使用F方法更新一个对象多个对象字段的实现
Mar 28 Python
Python 实现一个计时器
Jul 28 Python
详解Python openpyxl库的基本应用
Feb 26 Python
python实现黄金分割法的示例代码
Apr 28 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
文件上传类
2006/10/09 PHP
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
纯javascript实现图片延时加载方法
2015/08/21 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
爬虫利器Puppeteer实战
2019/01/09 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
2020/04/22 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
django rest framework serializers序列化实例
2020/05/13 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
python matplotlib库的基本使用
2020/09/23 Python
Python list和str互转的实现示例
2020/11/16 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
50道外企软件测试面试题
2014/08/18 面试题
网游商务专员求职信
2013/10/15 职场文书
公司经理聘任书
2014/03/29 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
2015年“我们的节日·重阳节”活动总结
2015/07/29 职场文书
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS
centos8安装nginx1.9.1的详细过程
2021/08/02 Servers
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript