Skip to content

Instantly share code, notes, and snippets.

@yanchuk
Last active July 24, 2017 08:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yanchuk/a09e1046c0c8ac3016ca799a659e8dfa to your computer and use it in GitHub Desktop.
Save yanchuk/a09e1046c0c8ac3016ca799a659e8dfa to your computer and use it in GitHub Desktop.

Кратко: есть эталонный файл (1) и файлы с данными для нескольких языков (2). нужно конвертировать файл кажого языка в формат эталонного. желательно на питоне (другие варианты расмотрю). есть код и mongo база с данными, из которых строилисись файлы 2.


Эталонный файл СSV, на русском. (1) Сэмпл https://docs.google.com/spreadsheets/d/1zYwpPP9v9I0GklagaPbpQVASAXWG9ba8XSfQxtOWalI/edit?usp=sharing В итоговом около 3к строк.

Описывает зависимость названий:

  • кода страны
  • название страны
  • код города
  • название города
  • код аэропорта
  • название аэропорта

Есть следующие кейсы. Код города != коду аэропорта Название города != названию аэропорта

Есть данные в другом формате под каждый язык (2) Сэмпл https://docs.google.com/spreadsheets/d/1EWcqZ3vDCVWcUahA8MHVlL124C7ymxLnhogG6mbGdvA/edit?usp=sharing 46 файлов, в каждом по 6к строк

Формат другой:

  • Код (города, страны, аэропорта)
  • Название на англ
  • Название на языке
  • Тип (город, страна, аэропорт)
  • Flightable (true только для аэропортов)

Надо конвертнуть все 46 файлов в первый формат (эталон), для последующего редактирования. Также сделать конвертор обратно из 2 в 1, после редактирования.

При конвертации 2 в эталон учесть:

1.Если в исходном эталоне name city == name airport , то так и должно быть в 1 для каждого языка. но значение для названия города и аэропорта в 1 должно браться из type=city в 2. Т.е. когда в 2 type=city и name != en_name т.к. в 2 есть особенность, что название города почти всегда переведено на нужный язык, а название аэропорта, даже если совпадает с названием города – нет http://prntscr.com/fzi0k0

  1. значения и смысл в исходных файлах должно совпадать с тем, что есть в iata city != iata airport и name city != name airport в эталоне сейчас. необходимо для дальнейшего редактирования.

Т.е. сейчас в эталоне 917 строк, где name city != name airport , и так примерно должно остаться после конвертации каждого языка в эталон. Если в 2 есть значения для type city/airport, где есть перевод (name != en_name) – надо использовать их

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment