что такое "удалять копию с сервера после получения сообщения" на вкладке расширенный счета? Джеймс, рад, если я могу помочь. Наслаждайтесь горячим соусом. @Sobachatina я сменил имидж для тебя ;-) но я не хочу знать, чем вы кормите своих бедных кошек =Р Рассматривали ли вы использование RCDefaultApp по rubicode, чтобы вручную проверить, если это приложение является взятие под контроль расширения и типы . Спасибо, @Jander, но мне нравится простота принято решение. Платформы линии очень мало (4 или около того), а в основном просто объявления "псевдонима", как пример я привел (MacVim, шалфей и т. д.), хотя я, вероятно, изменить псевдоним MacVim в функцию, так что я могу остановить того, чтобы тип файла mvim &` и файл просто типа `mvim`.

Проблем с тем, что данные не простой CSV-файл, где первая строка-имена столбцов, а остальные строки данных в столбце по строкам.

Здесь у вас есть имя_столбца=column_data, разделенные ; персонажи. Моим решением было бы использовать такой язык, как Python, чтобы прочитать файл построчно. Я хотел создать дикт() из каждой строки, и К:в паре для каждого поля. Затем я хотел бы добавить, что словарь в список() всех линий.

Один раз у меня было, я мог обработать список. Если я на первой линии, я буду печатать имена столбцов, значения, другие мудрые я буду только печатать значения.

Я думаю, что метод будет похож на любой язык вы используете, но это определенно выполнимо.

Вот небольшой пример на Python, который использует OrderedDicts для сохранения колонны "" порядке:

#!/usr/Бен/Python с
"' небольшой пример скрипта для парсинга '=' с разделителями полей в 
 ';' с разделителями столбцов текстового файла.
 вкладка печать с разделителями столбчатых данных с заголовками в stdout
"'
из коллекции импорт OrderedDict

с Open('данные', 'РБ') Как входной_файл:
 FLINES = входной_файл.читать().сплит()

Данные = []
для линии в FLINES:
 поля = линия.сплит(';')
 д = OrderedDict()
 для поля в областях:
 если '=' в поле:
 коль, значение = поле.сплит('=')
 д.обновление({столбец: значение})
Данных.добавление(д)

Л = 0
для D в данных:
 если l == 0:
 печать '\Т'.присоединиться(Д. ключи())
 печать '\Т'.присоединиться(значения Д.())
 Л += 1
  • В этом примере предполагается, что все ваши строки будут иметь одинаковые столбцы, потому что он будет только печатать col_names для первой записи, он выходит из списка.