python文件指针放在文件的开头_将文件指针倒带到上一个lin的开头
我正在进行文本处理并使用“readline()”函数,如下所示:ifd = open(...)
for line in ifd:
while (condition)
do something...
line = ifd.readline()
condition = ....
当条件变为false时,我需要倒带指针,以便“for”循环再次读取同一行。在
在ifd.fseek公司()后面跟readline是给我一个'\n'字符。如何倒带指针,以便重新读取整行。在
^{pr2}$
这是我的代码labtestnames = sorted(tmp)
#Now read each line in the inFile and write into outFile
ifd = open(inFile, "r")
ofd = open(outFile, "w")
#read the header
header = ifd.readline() #Do nothing with this line. Skip
#Write header into the output file
nl = "mrn\tspecimen_id\tlab_number\tlogin_dt\tfluid"
offset = len(nl.split("\t"))
nl = nl + "\t" + "\t".join(labtestnames)
ofd.write(nl+"\n")
lenFields = len(nl.split("\t"))
print "Reading the input file and converting into modified file for further processing (correlation analysis etc..)"
prevTup = (0,0,0)
rowComplete = 0
k=0
for line in ifd:
k=k+1
if (k==200): break
items = line.rstrip("\n").split("\t")
if((items[0] =='')):
continue
newline= list('' for i in range(lenFields))
newline[0],newline[1],newline[3],newline[2],newline[4] = items[0], items[1], items[3], items[2], items[4]
ltests = []
ltvals = []
while(cmp(prevTup, (items[0], items[1], items[3])) == 0): # If the same mrn, lab_number and specimen_id then fill the same row. else create a new row.
ltests.append(items[6])
ltvals.append(items[7])
pos = ifd.tell()
line = ifd.readline()
prevTup = (items[0], items[1], items[3])
items = line.rstrip("\n").split("\t")
rowComplete = 1
if (rowComplete == 1): #If the row is completed, prepare newline and write into outfile
indices = [labtestnames.index(x) for x in ltests]
j=0
ifd.seek(pos)
for i in indices:
newline[i+offset] = ltvals[j]
j=j+1
if (rowComplete == 0): #
currTup = (items[0], items[1], items[3])
ltests = items[6]
ltvals = items[7]
pos = ifd.tell()
line = ifd.readline()
items = line.rstrip("\n").split("\t")
newTup = (items[0], items[1], items[3])
if(cmp(currTup, newTup) == 0):
prevTup = currTup
ifd.seek(pos)
continue
else:
indices = labtestnames.index(ltests)
newline[indices+offset] = ltvals
ofd.write(newline+"\n")
python文件指针放在文件的开头_将文件指针倒带到上一个lin的开头相关推荐
- mysql能放在电脑哪个盘_电脑文件一般放在哪个盘好呢?
展开全部 一般不要放在C盘,因为那是62616964757a686964616fe4b893e5b19e31333433653363系统盘,当重装系统的话,那文件就全无. C盘一般为系统安装区,其他非 ...
- 桌面新建文件夹不显示缩图_如何在Windows 10桌面上创建不可见的文件夹
桌面新建文件夹不显示缩图 Have you ever wanted to hide files right under someone's nose? With this digital parlor ...
- HTML文件点放在手机桌面,智能手机如何将文件添加主屏幕上
一般手机桌面只能放APP安装成功的快捷方式,直接把文件,比如Excel word 等放在手机桌面不好实现,需要别的软件开实现. 华为手机将文件设置桌面快捷方式教程 首先我们在手机上左右滑动屏幕,找到& ...
- 删除文件过一会又回来_手机文件误删除如何恢复?教你实用的找回方法!
手机文件误删除如何恢复?很多时候大家都有过不小心删除文件的经历,尤其是存在于手机中的文件,很容易在使用手机管家清理内存的时候,顺手把一些文件给清理掉了,很多文件对于我们来说都是有重要的作用的,那么有很 ...
- 如何将文件存放在ftp服务器,ftp如何将文件上传到服务器上
ftp如何将文件上传到服务器上 内容精选 换一换 GaussDB(DWS)支持将存在远端服务器上的TEXT.CSV和FIXED格式的数据导入到集群中.本教程以CSV格式的数据为例进行演示.其他两种格式 ...
- python脚本文件的扩展命是什么_一些文件的扩展名
python文件扩展名是什么 与Python相关的只有.py..pyc..pyd这三个扩展名,下面是Python相关所有的扩展名文件以及对应的功能. .py - 常规脚本 .py3 - Python3 ...
- 苹果电脑拷贝文件到u盘很慢_电脑文件需要拷贝到另外一台电脑,U盘太慢怎么办?一根网线解决你的烦恼...
我们平时可以因为各种原因,如电脑重装.高清电影分享.更换电脑等),需要将大文件拷贝至另一台电脑.我们采用U盘拷贝的话很浪费时间,且不一定能找到大的U盘使用.那该怎么办呢? 这里我们采用局域网进行拷贝就 ...
- python使用spark-sql读取数据并可视化_使用Spark SQL读取HBase上的数据
近日,由华为团队开发的 1.基于部分评估技术,该项目具有强大的数据剪枝和智能扫描特点: 2.支持自定义过滤规则.协处理器等以便支持超低延迟的处理: 3.支持SQL.DataFrame: 4.支持更多的 ...
- 鼠标指针放置上面,显示内容_使鼠标指针远离您键入的内容
鼠标指针放置上面,显示内容 If your mouse pointer seems to constantly get in the way while you are typing, you are ...
最新文章
- linux进程间通信:FIFO实现进程间的双向通信
- 什么是正确的JSON内容类型?
- 购物车实例 转载至http://www.souzz.net/html/edu/net/net1/9460.html
- Cube 技术解读 | 详解「支付宝」全新的卡片技术栈
- Spark Mllib里的如何对两组数据用斯皮尔曼计算相关系数
- 输出直角三角形 java
- Java堆溢出,虚拟机栈和本地方法栈溢出
- 由扔骰子看平均概率生成
- 性能测试--网页fps测试
- JS中利用AJAX调用淘宝API获取网络时间的方法
- CAJ阅读器相关问题
- 曲苑杂坛--收缩数据库日志
- CCID 设备通讯 (Windows 平台)
- openssl_sign() 语法+RSA公私钥加密解密,非对称加密算法详解
- 功能强大,颜值在线的个人笔记应用 - Notion
- 苹果id密码忘记了怎么重新设置?请收好这份攻略!
- sketch制作Android动画,Sketch制作GIF动画——基础篇(改良版)
- 微信扫描二维码安卓弹出默认浏览器(苹果打开App Store)打开下载链接
- H5唤起手机电话功能
- 亚马逊Amazon常用API接口-获得商品详情-接入说明