我有一个包含多个列中的结果(整数)的文件(以制表符分隔),两行文本在开头告诉我一些关于文件内容的内容,最后两行告诉我文件的内容是否完整。< / p>
我有一个脚本可以根据第一列的值来订购文件,但是想扩展它以便它跳过文件的前两行,最后两行,同时也只打印出有序的第一列。我怎么能这样做?
这是我目前拥有的脚本:
file_name = "output1.dat"
new_file_name = "sorted_"+file_name
data = csv.reader(open(file_name),delimiter='\t')
sortedlist = sorted(data, key=lambda x:int(x[0]))
#now write the sorte result into new CSV file
with open(new_file_name, "wb") as f:
fileWriter = csv.writer(f, delimiter=',')
for row in sortedlist:
fileWriter.writerow(row)
它被文本行绊倒,因为它们不包含任何列。
答案 0 :(得分:4)
这应该跳过前两行和最后两行:
pandas.sparse.*
只写第一栏:
sortedlist = sorted(list(data)[2:-2], key=lambda x:int(x[0]))
完整脚本:
fileWriter.writerow(row[:1])