python读取各种文件数据方法解析
作者:yiweiyi329 发布时间:2021-08-31 09:16:54
标签:python,读取文件
python读取.txt(.log)文件 、.xml 文件 、excel文件数据,并将数据类型转换为需要的类型,添加到list中详解
1.读取文本文件数据(.txt结尾的文件)或日志文件(.log结尾的文件)
以下是文件中的内容,文件名为data.txt(与data.log内容相同),且处理方式相同,调用时改个名称就可以了:
以下是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
运行结果如下:
2.读取.xml结尾的文件
XML文件的名称为abc.xml, 内容如下图所示:
以下是实现代码:
# -*- 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
输出结果如下图所示:
3.读取excel文件数据,并将其存入list列表中
excel表格中的数据如下图所示,表格命名为data.xlsx:
首先将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
调用此函数,输出结果如下:
以下将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,输出结果如下图所示:
来源:https://blog.csdn.net/yiweiyi329/article/details/78184226
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 一、问题的提出随着互连网的发展,网站的数量以惊人的数字增加。网站的作用除了给广大网友们提供信息资讯服务外,还应该成为网友们上传与下载文件的场
- 视图层(view)视图函数,简称视图,本质上是一个简单的Python函数,它接受Web请求并且返回Web响应。响应的内容可以是HTML网页,
- 本文实例为大家分享了python使用Plotly绘图工具绘制柱状图的具体代码,供大家参考,具体内容如下使用Plotly绘制基本的柱状图,需要
- 有时候导入本地模块或者py文件时,下方会出现红色的波浪线,但不影响程序的正常运行,但是在查看源函数文件时,会出现问题问题如下:解决方案:1.
- 首先,到底什么是网络服务器?简而言之,它是在物理服务器上搭建的一个网络连接服务器(networking server),永久地等待客户端发送
- 需求:用的是django的框架,想显示一个基本固定的页面,用到了form_layout上图的ROW中添加的是model中的字段名,可以显示对
- Debug Textarea这个东西是在线写 js 脚本的时候,用来即时查错的东西!也就是,当发现所编写的脚本有问题的时候会有相应的提示,并
- 1. position:static所有元素的默认定位都是:position:static,这意味着元素没有被定位,而且在文档中出现在它应该
- 这篇文章主要介绍了Python tkinter三种布局实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 如下所示:import sysfrom PyQt5 import QtGui, QtCore, QtWidgetsfrom PyQt5.Qt
- 前言Python 这门语言最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。但有时候我们写代码,特别是 Python
- 1.介绍当我们使用pytorch来构建网络框架的时候,也会遇到和tensorflow(tensorflow __init__、build 和
- Python保存网页图片这个是个比较简单的例子,网页中的图片地址都是使用'http://。。。。.jpg'这种方式直接定义的
- 在我前一阵子刚刚写了“HTML5与Flash,不得不说的话题”的评论后,如各位所料,由于牵扯到多方利益和未来标准制定的角色份量,这不,有可能
- Python字典中的键是唯一的,但不同的键可以对应同样的值,比如说uid,可以是1001。id同样可以是1001。这样的话通过值来获取指定的
- python提取照片坐标信息的代码如下所示:from PIL import Imagefrom PIL.ExifTags import TA
- 这句话后面的1200是什么单位来的啊?delete from online where datediff(""s&quo
- 微软现在已经进入了ASP.NET 2.0和Visual Web Developer 2005发布版最
- 使用python脚本实现查询火车票信息的效果图如下:实现的代码:# coding: utf-8"""命令行火车
- 容器与可迭代对象在正式开始前先补充一些基本概念在 Python 中存在容器 与 可迭代对象容器:用来存储多个元素的数据结构,例如 列表,元组