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中使用PIL模块处理图像的教程
Apr 29 Python
Python编程实现正则删除命令功能
Aug 30 Python
Python3+Appium安装使用教程
Jul 05 Python
python实现数据分析与建模
Jul 11 Python
python requests使用socks5的例子
Jul 25 Python
python实现桌面气泡提示功能
Jul 29 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
Python实现直播推流效果
Nov 26 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
Python视频编辑库MoviePy的使用
Apr 01 Python
用python-webdriver实现自动填表的示例代码
Jan 13 Python
使用Djongo模块在Django中使用MongoDB数据库
Jun 20 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
php explode函数实例代码
2012/02/27 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
Angular路由简单学习
2016/12/26 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
Vue不能观察到数组length的变化
2018/06/08 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
python生成验证码图片代码分享
2016/01/28 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
Python API自动化框架总结
2019/11/12 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
人力管理专业毕业生求职信
2014/02/27 职场文书
公开服务承诺制度
2014/03/26 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
计划生育汇报材料
2014/12/26 职场文书
如何解决php-fpm启动不了问题
2021/11/17 PHP