Задать вопрос
@Chesterfield25

Как массово заполнить таблицу?

Есть полностью пустая таблица, как сделать массовое заполнение из текстового файла?
63f22f3f5d4a6553886813.png

Есть база слов https://github.com/hermitdave/FrequencyWords/blob/...
которую нужно заполнить в выше указанную таблицу цифровые значение в пол freq а слова в поле word, как это сделать?
  • Вопрос задан
  • 169 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
erge
@erge
Примус починяю
Если совсем все сложно с решением выше, хотя оно рабочее (пробуйте разные редакторы, выбирайте какой вам больше подойдет, читайте про регулярные выражения, я не знаю как без них вообще жить ))))

делайте все из командной строки - скачайте утилиты командной строки sqlite - https://www.sqlite.org/download.html
Precompiled Binaries for Windows
sqlite-tools-win32-x86-3410000.zip
распаковываете утилиты куда вам удобно, прописываете в переменную PATH, ну или например распакуйте в c:\bin

копируете файл в папку с вашей бд sqlite
далее запускаете sqlite3.exe в 'этой папке (в консоли, в командной строке!) указывая ему вашу БД, например

sqlite3.exe my_example_db.sqlt

далее в командной строке самой sqlite пишете
create table ru_word (word varchar(100), freq INT);


PS: порядок полей такой, потому что в файле такой порядок и он грузится как есть, для БД порядок не важен.
далее

далее указываете сеператор (разделитель полей в текстовом файле)
.separator " "
грузите файл в таблицу
.import ru_50k.txt ru_word

все!

в итого будет примерно так (в командной строке!):
: переходим в папку с БД, там же должен быть файлru_50k.txt
cd C:\tmp

: открываем БД в sqlite3
c:\bin\sqlite3.exe my_example_db.sqlt
SQLite version 3.41.0 2023-02-21 18:09:37
Enter ".help" for usage hints.
sqlite> create table ru_word (word varchar(100), freq INT);
sqlite> .tables
ru_word
sqlite> .separator " "
sqlite> .import ru_50k.txt ru_word
sqlite> SELECT count(*) FROM ru_word;
50000
sqlite> SELECT MAX(freq) FROM ru_word;
3854593
sqlite> SELECT * FROM ru_word LIMIT 10;
я 3854593
не 3244771
что 2665565
в 2212420
и 2179689
ты 2067418
это 1999607
на 1240437
с 1128276
он 966203
sqlite> .quit


PPS: научитесь пользоваться поиском, например загрузка csv в sqlite и т.п. и т.д. etc
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Берешь блокнот, умеющий регулярки, превращаешь (\w+) (\d+) в ('$1', $2),.
Добавляешь первой строчкой команду INSERT - и загоняешь этот запрос в базу через то, через что с ней в принципе общаешься.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы