В течение последних нескольких месяцев я работал над крупным проектом, в котором мне нужно было использовать список стран как на английском, так и на арабском языке. На первый взгляд, я думал, что найти этот список будет легким, поскольку он будет выглядеть как общая проблема, верно? Но, к сожалению, это не так.
Большинство данных, которые я обнаружил, не были организованы должным образом, и было слишком сложно извлечь необходимые данные, не приложив огромные усилия.
Я решил использовать какой -то API, который уже имел эти данные, но я столкнулся с некоторыми проблемами. Большинство API предоставляют вам ограниченное количество запросов в месяц. Если вы хотите больше запросов, вы должны платить все больше и больше. К сожалению, свободные были надежны.
Несмотря на все это, у меня было две основные проблемы. Первый, у нас могут быть ситуации, в которых мы хотим связать некоторые данные с некоторыми странами в нашей базе данных с иностранными ключами. Таким образом, API не будут полезны, и я должен сохранить данные в базе данных. Для второго, все решения, которые я обнаружил, не предоставляли арабские данные.
Итак, я решил создать данные самостоятельно. С помощью Geonames публичные данные и с некоторыми дополнительными усилиями для перевода данных и добавления дополнительных полей, я создал amrsaeedhosny/ounts Репозиторий на GitHub.
Страновые данные
Каждая страна имеет следующие данные:
- Английское имя.
- Арабское имя.
- ISO 3166-1 Альфа-2 код.
- ISO 3166-1 Альфа-3 код.
- Телефонный код.
Доступные форматы файлов
Данные стран хранятся в нескольких форматах файлов:
- CSV:
20 | مصر | НАПРИМЕР | Еги | Египет |
- Json:
{ "english_name": "Egypt", "arabic_name": "مصر", "alpha2_code": "EG", "alpha3_code": "EGY", "phone_code": "20" }
- SQL:
INSERT INTO COUNTRY (ENGLISH_NAME, ARABIC_NAME, ALPHA2_CODE, ALPHA3_CODE, PHONE_CODE) VALUES('Egypt', 'مصر', 'EG', 'EGY', '20');
Пользовательский формат файла
Существует также простой скрипт Python, который вы можете использовать для создания своего собственного формата файла:
import csv my_file = open("my_file.txt", "w") with open('countries.csv') as csv_file: csv_reader = csv.reader(csv_file) csv_reader.next() for row in csv_reader: for column in row: my_file.write(column + ",") my_file.write("\n") my_file.close()
Теперь проблема была решена один раз, и я могу легко использовать данные, когда мне это нужно.
Достигнув этого, вы знаете, что можете использовать эти данные в своих собственных проектах. На самом деле, это был весь смысл этой статьи. Итак, наслаждайтесь!
Оригинал: “https://dev.to/amrsaeedhosny/countries-data-1i2b”