非常全的古诗词数据,收录了从先秦到现代的共计 85 万余首古诗词。
| 朝代 | 诗词数 | 作者数 |
|---|---|---|
| 宋 | 287114 | 9446 |
| 明 | 236957 | 4439 |
| 清 | 90089 | 8872 |
| 唐 | 49195 | 2736 |
| 元 | 37375 | 1209 |
| 近现代 | 28419 | 790 |
| 当代 | 28219 | 177 |
| 明末清初 | 17700 | 176 |
| 元末明初 | 15736 | 79 |
| 清末民国初 | 15367 | 99 |
| 清末近现代初 | 12464 | 48 |
| 宋末元初 | 12058 | 41 |
| 南北朝 | 4586 | 434 |
| 近现代末当代初 | 3426 | 23 |
| 魏晋 | 3020 | 251 |
| 金末元初 | 3019 | 17 |
| 金 | 2741 | 253 |
| 民国末当代初 | 1948 | 9 |
| 隋 | 1170 | 84 |
| 唐末宋初 | 1118 | 44 |
| 先秦 | 570 | 8 |
| 隋末唐初 | 472 | 40 |
| 汉 | 363 | 83 |
| 宋末金初 | 234 | 9 |
| 辽 | 22 | 7 |
| 秦 | 2 | 2 |
| 魏晋末南北朝初 | 1 | 1 |
| 总和 | 853385 | 29377 |
古诗词数据按朝代存储在多个 CSV 文件中,以避免单个文件过大。有 题目、朝代、作者 和 内容 四个字段。
古诗词中有一些生僻字,属于 utf8mb4 字符,在许多设备中无法显示,使用 ? 替代。
为方便导入,将多个 CSV 文件合并成一个。这通过执行如下命令实现:
python scripts/merge.py该命令将在当前目录下生成 poetry.csv 文件。
创建数据库:
CREATE DATABASE poetry CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;创建数据表:
use poetry;
CREATE TABLE `poetry` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` char(200) DEFAULT NULL,
`dynasty` char(50) DEFAULT NULL,
`author` char(100) DEFAULT NULL,
`content` text,
PRIMARY KEY (`id`)
);查看 secure_file_priv 设置:
SHOW variables like '%secure_file_priv%';结果类似于:
+------------------+------------------------------------------------+
| Variable_name | Value |
+------------------+------------------------------------------------+
| secure_file_priv | C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\ |
+------------------+------------------------------------------------+
1 row in set, 1 warning (0.0014 sec)该目录可能因环境不同而不同。若 secure_file_priv 的 Value 为空,请自行搜索如何设置。
把 poetry.csv 文件复制到 secure_file_priv 目录中,Windows 用户可参考如下命令:
copy poetry.csv "C:\ProgramData\MySQL\MySQL Server 8.0\Uploads"从 CSV 文件中导入数据:
LOAD DATA INFILE 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\poetry.csv'
INTO TABLE `poetry`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n' (title, dynasty, author, content);MIT 许可证。