Кратко: есть эталонный файл (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
- значения и смысл в исходных файлах должно совпадать с тем, что есть в iata city != iata airport и name city != name airport в эталоне сейчас. необходимо для дальнейшего редактирования.
Т.е. сейчас в эталоне 917 строк, где name city != name airport , и так примерно должно остаться после конвертации каждого языка в эталон. Если в 2 есть значения для type city/airport, где есть перевод (name != en_name) – надо использовать их