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中何种情况下需要使用断言
Apr 01 Python
用Python的Tornado框架结合memcached页面改善博客性能
Apr 24 Python
Python的for和break循环结构中使用else语句的技巧
May 24 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
Nov 30 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
python将四元数变换为旋转矩阵的实例
Dec 04 Python
python从zip中删除指定后缀文件(推荐)
Dec 05 Python
浅析matlab中imadjust函数
Feb 27 Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 Python
python 基于opencv操作摄像头
Dec 24 Python
python实现高效的遗传算法
Apr 07 Python
Python中如何处理常见报错
Jan 18 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
Sony CFR 320 修复改造
2020/03/14 无线电
PHP编程开发怎么提高编程效率 提高PHP编程技术
2015/11/09 PHP
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
Vue.js实现拖放效果的实例
2016/09/30 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
浅谈Vue.use的使用
2018/08/29 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
Python实现比较两个列表(list)范围
2015/06/12 Python
Python中django学习心得
2017/12/06 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
GUESS盖尔斯法国官网:美国时尚品牌
2016/09/23 全球购物
国外的一些J2EE面试题一
2012/10/13 面试题
初中生个人学习的自我评价
2013/12/04 职场文书
店长助理岗位职责
2013/12/13 职场文书
教师演讲稿范文
2014/01/08 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
班主任班级寄语大全
2014/04/04 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
五一劳动节活动总结
2015/02/09 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
《刷子李》教学反思
2016/02/20 职场文书
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android
Java 死锁解决方案
2022/05/11 Java/Android
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS