Как я могу вставить столбец в числовой ввод через запятую? - PullRequest
1 голос
/ 27 июля 2010

Привет, у меня есть текстовый файл ниже

ввод

326783,326784,402
326783,0326784,402
503534,503535,403
503534,0503535,403
429759,429758,404
429759,0429758,404
409626,409627,405
409626,0409627,405

369917,369916,402
369917,0369916,403

Я хочу преобразовать его, как показано ниже

состояние:

1) столбец 3 входного файла и столбец 1 должны быть одинаковыми для 326784 и 0326784 и т. Д.

2) если он отличается от указанного выше входного файла в последнем случае, то он должен быть напечатан в последней строке

вывод должен быть

326783,326784,0326784,402
503534,503535,0503535,403
429759,429758,0429758,404
409626,409627,0409627,405
369917,369916,402
369917,0369916,403

Я использую платформу Solaris

пожалуйста, помогите мне

1 Ответ

0 голосов
/ 27 июля 2010

Я не понимаю логику ваших вычислений, но несколько общих советов: инструмент Unix awk может выполнять такие вычисления. Он понимает файлы, разделенные запятыми, и вы можете получить его для вывода других файлов, разделенных запятыми, управляемыми вашей логикой (которую вам придется выражать в синтаксисе awk).

Это, насколько я понимаю, Unix-способ сделать это. Я бы так и сделал (будучи не экспертом по awk и просто упомянув это для полноты;), написал бы небольшой скрипт на python. Вы хотите

  • открыть файл ввода и вывода
  • получить каждую строку из входного файла
  • разобрать целые числа
  • выполнить свою логику
  • записать целые числа в выходной файл

непроверенный Python-подобный код:

f_in = open("input", "r")
f_out = open("output", "w")
for line in f_in.readlines():
   ints = [int(x) for x in line.split(",")]
   f_out.write("%d, %d, %d\n" % (ints[0], ints[1], ints[0]+ints[1]))
f_in.close()
f_out.close()

Здесь логика находится в строке f_out.write (...) (в этом примере будет выведено первое, второе и сумма обоих входных целых чисел)

Вы можете проверить, есть ли у вас интерпретатор Python, просто набрав python и посмотрев, что произойдет. Если у вас есть, сохраните ваш код в нечто .py и запустите его с "pythonthing.py"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...