Closed maxirk closed 11 years ago
Вот к примеру таблица https://www.sugarsync.com/pf/D6928101_9276249_6355141
Извращался конкретно:
В excel использовал команду "СЦЕПИТЬ" и получил в ячейке "1abate2/ə'beɪt/3ослаблять, уменьшать, умерять4".
Далее заменял: 1 на [" 2 на "," 3 на "," 4 на "]
И вот сделал такой файл dict.json https://www.sugarsync.com/pf/D6928101_9276249_6366928 Но почему программа не запускается?
Все-таки нужен быстрый способ что бы обычную таблицу со словами запихать в программу - например продумать макрос в excel хотя бы.
Так как же делать словари? Почему у меня словарь не работает. Хочется уже поизучать :)
У вас последняя строчка заканчивается запятой, уберите ее.
["inscrutable", "ɪn'skru:təbl", "непостижимый, загадочный"], ["insincere", ",ɪnsɪn'sɪə", "неискренний, лицемерный"], ["insolent", "'ɪnsələnt", "оскорбительный"], ]
Для этой цели я написал себе простой python-скрипт по преобразованию словаря со страницы lingualeo в json
INPUT_FILE = 'dict_maks.ll'
OUTPUT_FILE = 'dict_maks.json'
def WriteLine(line, fOut):
line = line.translate(None, '\n\r[]')
line = line.replace('"', '\\"')
entry = line.split('\t')
fOut.write('\t["' + entry[1] + '",\t"' + entry[2] + '",\t"' + entry[3] + '"]')
def WriteFile(fIn, fOut):
prevLine = ''
for line in fIn:
if prevLine != '':
WriteLine(prevLine, fOut)
fOut.write(',\n')
prevLine = line
WriteLine(prevLine, fOut)
fOut.write('\n')
fIn = open(INPUT_FILE, 'r')
fOut = open(OUTPUT_FILE, 'w')
fOut.write('[\n')
WriteFile(fIn, fOut)
fOut.write(']')
Первоначальный файл имеет такой формат:
1 aback [əbˈæk] захваченный врасплох, смущенный 2 abandoned [əbˈændənd] заброшенный 3 abdicated [ˈæbdɪkɛɪːtɪd] отрёкся, отказался 4 abide [əbˈaɪd] подчиняться, согласиться с последствиями 5 abolish [əbˈɒlɪʃ] уничтожать, отменять, упразднять, аннулировать 6 abroad [əbrˈɔːd] за границей, повсюду, широко, вне дома 7 abrupt [əbrˈʌpt] внезапный, крутой, обрывистый 8 absorption [əbsˈɔːpʃən] поглощение
Замечательно! На самом деле я как раз учу слова в тренировках LinguaLeo Подскажите как запустить данный скрипт? Точнее что именно нужно сделать что бы получить dict.json со словаря lingualeo (я чайник)
У вас последняя строчка заканчивается запятой, уберите ее.
Убрал, но все равно программа не запускается https://www.sugarsync.com/pf/D6928101_9276249_6366928 - что не так?
вы убрали все запятые, а нужно было только последнюю.
для получения json-словаря из лингвалео:
вы убрали все запятые, а нужно было только последнюю.
Где же все? Вот так выглядит - [ ["abate", "ə'beɪt", "ослаблять, уменьшать, умерять"] ["abhor", "əb'hɒ:", "питать отвращение"]
Все же запятые на месте? ( https://www.sugarsync.com/pf/D6928101_9276249_6366928 )
в моем скрипте указать путь к текстовому файлу словаря из лингвалео в переменной - INPUT_FILE
Как запускать скрипт? Как-то через консоль это все прописывать? Говорю же я ламер :)
Читаем внимательно мой коммент - https://github.com/ReanGD/LearningEnglish/issues/55#issuecomment-9517958 считаем там запятые, находим последнюю, одну единственную запятую.
Спасибо, извинте за невнимательность. Заработало.
Как запускать скрипт? Как-то через консоль это все прописывать? Говорю же я ламер :)
нужно в папку положить входной файл словаря, который будете преобразовывать и файл скрипта (назовите его convert.py). у вас должен быть установлен python 2.7. для запуска либо дважды кликнуть на скрипте, либо запустить его в командной строке. если есть желание научиться запускать питоновские скрипты - начните с простых примеров "hello world".
Тут уже и без меня похоже разобрались )
Я как понял все работает, можно закрывать задачу
Добавьте скрипт импорта из Lingualeo https://github.com/maks-a/LearnEnglishWords/tree/master/utils в ваш родной архив. А то новички не будут знать что есть такая возможность.
Только нужно readme.txt еще сделать (а то может быть непонятно как работает)
По факту сейчас, если хочешь добавить слов, надо:
Как бы укоротить данную операцию?
Скипт портирую, но как ускорить - без понятия, я особо из LL ничего не выгружал, так что у меня проблемы такой не стоит.
Портировал скрипт, упростил как мог загрузку слов. Достаточно скопировать слова в lingualeo.txt и запустить программу с ключем "-lingualeo". Документация
Я активно использую сервис http://wordsfromtext.com Получаю обычную таблицу слов. Как удобнее привести такую таблицу к формату dict.json?
["tunnel", "tʌnl", "т[у]ннель"],