2024-09-27 18:01:36 发布
网友
我的输入文件有两列。我正试图在第二个for循环中打印inputdata1.txt的第二列。但我的代码不起作用。有人能告诉我该怎么做吗?
inputdata1.txt
你可以这样做。Separator是文件用来分隔列的字符,例如制表符或逗号。
Separator
for line in open("inputfile.txt"): columns = line.split(separator) if len(columns) >= 2: print columns[1]
with open('inputdata1.txt') as inf: for line in inf: parts = line.split() # split line into parts if len(parts) > 1: # if at least 2 parts/columns print parts[1] # print column 2
这假定列由空格分隔。
函数split()可以指定不同的分隔符。例如,如果用逗号,分隔列,则在上面的代码中使用line.split(',')。
,
line.split(',')
注意:使用with打开文件在完成后自动关闭它,或者如果遇到异常。
with
快速肮脏
如果安装了AWK:
# $2 for the second column os.system("awk '{print $2}' inputdata1.txt")
使用类
上课:
class getCol: matrix = [] def __init__(self, file, delim=" "): with open(file, 'rU') as f: getCol.matrix = [filter(None, l.split(delim)) for l in f] def __getitem__ (self, key): column = [] for row in getCol.matrix: try: column.append(row[key]) except IndexError: # pass column.append("") return column
如果inputdata1.txt看起来像:
hel lo wor ld wor ld hel lo
你会得到这个:
print getCol('inputdata1.txt')[1] #['lo', 'ld']
附加说明
subprocess.Popen
getCol('inputdata1.txt', delim=", ")
filter
pass
你可以这样做。
Separator
是文件用来分隔列的字符,例如制表符或逗号。这假定列由空格分隔。
函数split()可以指定不同的分隔符。例如,如果用逗号
,
分隔列,则在上面的代码中使用line.split(',')
。注意:使用
with
打开文件在完成后自动关闭它,或者如果遇到异常。快速肮脏
如果安装了AWK:
使用类
上课:
如果
inputdata1.txt
看起来像:你会得到这个:
附加说明
subprocess.Popen
getCol('inputdata1.txt', delim=", ")
filter
删除空值或取消注释pass
相关问题 更多 >
编程相关推荐