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操作xml文件示例
Apr 07 Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 Python
Djang中静态文件配置方法
Jul 30 Python
python生成式的send()方法(详解)
May 08 Python
使用Python读取大文件的方法
Feb 11 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
Mar 13 Python
Python 存储字符串时节省空间的方法
Apr 23 Python
解决Python3 抓取微信账单信息问题
Jul 19 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 Python
在pycharm中实现删除bookmark
Feb 14 Python
python playwright 自动等待和断言详解
Nov 27 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 命令行参数详解及应用
2011/05/18 PHP
php中strtotime函数用法详解
2014/11/15 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
基于nodejs 的多页面爬虫实例代码
2017/05/31 NodeJs
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
python求列表交集的方法汇总
2014/11/10 Python
浅谈Python的异常处理
2016/06/19 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
python输入错误后删除的方法
2019/10/12 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
Python object类中的特殊方法代码讲解
2020/03/06 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
最新销售员个人自荐信
2013/09/21 职场文书
检查机关党的群众路线个人整改措施
2014/10/04 职场文书
节水倡议书
2015/01/19 职场文书
闪闪红星观后感
2015/06/08 职场文书
《从现在开始》教学反思
2016/02/16 职场文书