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是编译运行的验证方法
Jan 30 Python
python在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
python使用nntp读取新闻组内容的方法
May 08 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
May 16 Python
Python文件右键找不到IDLE打开项解决办法
Jun 08 Python
Windows下为Python安装Matplotlib模块
Nov 06 Python
浅谈python抛出异常、自定义异常, 传递异常
Jun 20 Python
Python做简单的字符串匹配详解
Mar 21 Python
python实现BackPropagation算法
Dec 14 Python
Python设计模式之外观模式实例详解
Jan 17 Python
python采集百度搜索结果带有特定URL的链接代码实例
Aug 30 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
php版小黄鸡simsimi聊天机器人接口分享
2014/01/26 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
js 异步处理进度条
2010/04/01 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
python tkinter界面居中显示的方法
2018/10/11 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
新电JAVA笔试题目
2014/08/31 面试题
团代会主持词
2014/04/02 职场文书
安全目标责任书
2014/07/22 职场文书
投标授权委托书范文
2014/08/02 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
2014年商场工作总结
2014/11/22 职场文书
男方家长婚礼答谢词
2015/09/29 职场文书
关于Vue中的options选项
2022/03/22 Vue.js
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技