Сортировка Python в порядке вывода файла - PullRequest
0 голосов
/ 24 октября 2018
nums = range(201,202)
with open('Orig.txt', 'r') as fin:
     with open('out.txt', 'w') as fout:
         for line in fin.readlines():
             line = line.split()

             for i in range(0, len(nums),):
                 line[1] = int(line[1]) + 1
                  #line.append(str(line[1] + 1))
                 line = [str(e) for e in line] 
                 print(line)
                 fout.write(' '.join(line) + '\n')

Входной файл

xxx1A   201 18  0   1   0   0   1
xxx2A   201 20  0   1   0   0   1

В настоящее время вывод выглядит следующим образом

1A  201 18  0   1   0   0   1
1A  202 18  0   1   0   0   1
2A  201 20  0   1   0   0   1
2A  202 20  0   1   0   0   1

В то время как я хотел бы, чтобы он был отсортирован по третьей строке или второй строке, например

1A  201 18  0   1   0   0   1
2A  201 20  0   1   0   0   1
1A  202 18  0   1   0   0   1
2A  202 20  0   1   0   0   1

Любые предложения, которые я пробовал сортировать / реверсировать и т. Д.

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете использовать панд:

import pandas as pd
data = pd.read_csv('temp.txt', sep=" ", header=None) #load to pandas
data = data.sort_values(2) #number of column, which you need sort
data.to_csv('new_temp.txt', header=None, index=False, sep=' ') # write to new txt, remember that numerate from 0 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...