根据第一列中的值对文件进行排序

时间:2016-01-29 14:09:28

标签: python file python-2.7 sorting

我有一个包含多个列中的结果(整数)的文件(以制表符分隔),两行文本在开头告诉我一些关于文件内容的内容,最后两行告诉我文件的内容是否完整。< / 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)

它被文本行绊倒,因为它们不包含任何列。

1 个答案:

答案 0 :(得分:4)

这应该跳过前两行和最后两行:

pandas.sparse.*

只写第一栏:

sortedlist = sorted(list(data)[2:-2], key=lambda x:int(x[0]))

完整脚本:

fileWriter.writerow(row[:1])