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中的元类(metaclass)
Feb 14 Python
总结python爬虫抓站的实用技巧
Aug 09 Python
深入理解Python3中的http.client模块
Mar 29 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
django-初始配置(纯手写)详解
Jul 30 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
详解Python并发编程之从性能角度来初探并发编程
Aug 23 Python
Django实现whoosh搜索引擎使用jieba分词
Apr 08 Python
Python 多进程、多线程效率对比
Nov 19 Python
django中ImageField的使用详解
Dec 21 Python
Python激活Anaconda环境变量的详细步骤
Jun 08 Python
 python中的元类metaclass详情
May 30 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模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
php简单防盗链实现方法
2015/07/29 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
PHP中TP5 上传文件的实例详解
2017/07/31 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
JS 自动完成 AutoComplete(Ajax 查询)
2009/07/07 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
通过js随机函数Math.random实现乱序
2020/05/19 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
pandas 将索引值相加的方法
2018/11/15 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
医学检验专业个人求职信范文
2013/12/04 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
民间个人借款协议书
2014/09/30 职场文书
防火标语大全
2014/10/06 职场文书
2014年团总支工作总结
2014/11/21 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书