我正在进行文本处理并使用“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的开头相关推荐

  1. mysql能放在电脑哪个盘_电脑文件一般放在哪个盘好呢?

    展开全部 一般不要放在C盘,因为那是62616964757a686964616fe4b893e5b19e31333433653363系统盘,当重装系统的话,那文件就全无. C盘一般为系统安装区,其他非 ...

  2. 桌面新建文件夹不显示缩图_如何在Windows 10桌面上创建不可见的文件夹

    桌面新建文件夹不显示缩图 Have you ever wanted to hide files right under someone's nose? With this digital parlor ...

  3. HTML文件点放在手机桌面,智能手机如何将文件添加主屏幕上

    一般手机桌面只能放APP安装成功的快捷方式,直接把文件,比如Excel word 等放在手机桌面不好实现,需要别的软件开实现. 华为手机将文件设置桌面快捷方式教程 首先我们在手机上左右滑动屏幕,找到& ...

  4. 删除文件过一会又回来_手机文件误删除如何恢复?教你实用的找回方法!

    手机文件误删除如何恢复?很多时候大家都有过不小心删除文件的经历,尤其是存在于手机中的文件,很容易在使用手机管家清理内存的时候,顺手把一些文件给清理掉了,很多文件对于我们来说都是有重要的作用的,那么有很 ...

  5. 如何将文件存放在ftp服务器,ftp如何将文件上传到服务器上

    ftp如何将文件上传到服务器上 内容精选 换一换 GaussDB(DWS)支持将存在远端服务器上的TEXT.CSV和FIXED格式的数据导入到集群中.本教程以CSV格式的数据为例进行演示.其他两种格式 ...

  6. python脚本文件的扩展命是什么_一些文件的扩展名

    python文件扩展名是什么 与Python相关的只有.py..pyc..pyd这三个扩展名,下面是Python相关所有的扩展名文件以及对应的功能. .py - 常规脚本 .py3 - Python3 ...

  7. 苹果电脑拷贝文件到u盘很慢_电脑文件需要拷贝到另外一台电脑,U盘太慢怎么办?一根网线解决你的烦恼...

    我们平时可以因为各种原因,如电脑重装.高清电影分享.更换电脑等),需要将大文件拷贝至另一台电脑.我们采用U盘拷贝的话很浪费时间,且不一定能找到大的U盘使用.那该怎么办呢? 这里我们采用局域网进行拷贝就 ...

  8. python使用spark-sql读取数据并可视化_使用Spark SQL读取HBase上的数据

    近日,由华为团队开发的 1.基于部分评估技术,该项目具有强大的数据剪枝和智能扫描特点: 2.支持自定义过滤规则.协处理器等以便支持超低延迟的处理: 3.支持SQL.DataFrame: 4.支持更多的 ...

  9. 鼠标指针放置上面,显示内容_使鼠标指针远离您键入的内容

    鼠标指针放置上面,显示内容 If your mouse pointer seems to constantly get in the way while you are typing, you are ...

最新文章

  1. linux进程间通信:FIFO实现进程间的双向通信
  2. 什么是正确的JSON内容类型?
  3. 购物车实例 转载至http://www.souzz.net/html/edu/net/net1/9460.html
  4. Cube 技术解读 | 详解「支付宝」全新的卡片技术栈
  5. Spark Mllib里的如何对两组数据用斯皮尔曼计算相关系数
  6. 输出直角三角形 java
  7. Java堆溢出,虚拟机栈和本地方法栈溢出
  8. 由扔骰子看平均概率生成
  9. 性能测试--网页fps测试
  10. JS中利用AJAX调用淘宝API获取网络时间的方法
  11. CAJ阅读器相关问题
  12. 曲苑杂坛--收缩数据库日志
  13. CCID 设备通讯 (Windows 平台)
  14. openssl_sign() 语法+RSA公私钥加密解密,非对称加密算法详解
  15. 功能强大,颜值在线的个人笔记应用 - Notion
  16. 苹果id密码忘记了怎么重新设置?请收好这份攻略!
  17. sketch制作Android动画,Sketch制作GIF动画——基础篇(改良版)
  18. 微信扫描二维码安卓弹出默认浏览器(苹果打开App Store)打开下载链接
  19. H5唤起手机电话功能
  20. 亚马逊Amazon常用API接口-获得商品详情-接入说明

热门文章

  1. Centos 7 添加新磁盘
  2. 让你在浏览器也能享受H.265播放器的高清画面
  3. Cache 工作原理、Cache 一致性,你想知道的都在这里
  4. 皮一皮:论脑回路的新奇指数...
  5. 奇奇怪怪的大佬:理发店小弟到阿里P10
  6. 你知道Java 8 的方法引用吗
  7. RocketMQ 消息丢失场景及解决办法
  8. 追踪JVM中的本地内存
  9. 数据库索引是什么?新华字典来帮你!
  10. 99%的人都能看懂的分布式最佳「补偿」实践