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求两个文本文件以行为单位的交集、并集与差集的方法
Jun 17 Python
python使用MySQLdb访问mysql数据库的方法
Aug 03 Python
Python实现基本线性数据结构
Aug 22 Python
Python实现发送QQ邮件的封装
Jul 14 Python
python+matplotlib绘制旋转椭圆实例代码
Jan 12 Python
python 读入多行数据的实例
Apr 19 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
Jul 04 Python
解决Python在导入文件时的FileNotFoundError问题
Apr 10 Python
Python Pivot table透视表使用方法解析
Sep 11 Python
python中常用的数据结构介绍
Jan 12 Python
Django+Celery实现定时任务的示例
Jun 23 Python
python中if和elif的区别介绍
Nov 07 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经典的给图片加水印程序
2006/12/06 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
2012/03/11 PHP
解决File size limit exceeded 错误的方法
2013/06/14 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
js中关于一个分号的崩溃示例
2013/11/11 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
Django卸载之后重新安装的方法
2017/03/15 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
django 类视图的使用方法详解
2019/07/24 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
销售自我评价
2013/10/22 职场文书
政风行风整改报告
2014/11/06 职场文书
2015年财务部工作总结
2015/04/10 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
各国货币符号大全
2022/02/17 杂记
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android