我有一个list.txt文件,内容如下:
1535 2015-22-12 0010.dcm
1530 2015-22-12 0013.dcm
1531 2015-22-12 0014.dcm
..
..
..
现在我想只读一行让我们说第一行和第一列和第三列,例如:将1535和oo10.dcm读入两个不同的字符串变量。我将使用os.join从这些变量创建路径。
对文件进行一些操作......
然后在第一行读取.dcm文件的标题后,我想添加带有标记值的第4列。
因此,最后txt文件看起来应该是这样的:
1535 2015-22-12 0010.dcm lab1
1530 2015-22-12 0013.dcm lab2
1531 2015-22-12 0014.dcm lab3
..
..
..
如何在python中执行此操作?
任何提示?
答案 0 :(得分:1)
import operator
import csv
import os
import string
vals = operator.itemgetter(0,2)
lab = string.Template("lab${n}")
with open('path/to/input') as infile, open('path/to/output', 'w') as fout:
outfile = csv.writer(fout, delimiter='\t')
for labnum,row in enumerate(csv.reader(infile, delimiter='\t'), 1):
num, fname = vals(row)
fpath = os.path.join(num, fname)
# do file operations with fpath
row.append(lab.substitute(n=labnum))
outfile.writerow(row)
答案 1 :(得分:0)
这是你想要做的吗?
import re with open('list.txt', 'r') as data: for line in data: fields = re.split(r' +', line) ... do stuff with fields[0] and fields[2] ... print(line + ' ' + tag)