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判断给定的字符串是否是有效日期的方法
May 13 Python
python简单分割文件的方法
Jul 30 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
Python多进程与服务器并发原理及用法实例分析
Aug 21 Python
python 图像平移和旋转的实例
Jan 10 Python
详解Python正则表达式re模块
Mar 19 Python
PyCharm安装Markdown插件的两种方法
Jun 24 Python
浅谈Python协程
Jun 17 Python
浅谈PyTorch中in-place operation的含义
Jun 27 Python
Python2及Python3如何实现兼容切换
Sep 01 Python
python上下文管理的使用场景实例讲解
Mar 03 Python
python-for x in range的用法(注意要点、细节)
May 10 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
基于empty函数的判断详解
2013/06/17 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
JavaScript实现网页留言板功能
2020/11/23 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
python实现的简单猜数字游戏
2015/04/04 Python
基于python的字节编译详解
2017/09/20 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
python实现多线程端口扫描
2019/08/31 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
python实现密码验证合格程序的思路详解
2020/06/01 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
大学四年学习的自我评价分享
2013/12/09 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
营业员岗位职责
2015/02/11 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
创业计划书之养殖业
2019/10/11 职场文书
分享Python异步爬取知乎热榜
2022/04/12 Python