Werneror/Poetry

非常全的古诗词数据,收录了从先秦到现代的共计85万余首古诗词。

Python

1,786

15 commits

updated Aug 8, 2023

See the code

README

Poetry

非常全的古诗词数据,收录了从先秦到现代的共计 85 万余首古诗词。

统计信息

朝代诗词数作者数
宋2871149446
明2369574439
清900898872
唐491952736
元373751209
近现代28419790
当代28219177
明末清初17700176
元末明初1573679
清末民国初1536799
清末近现代初1246448
宋末元初1205841
南北朝4586434
近现代末当代初342623
魏晋3020251
金末元初301917
金2741253
民国末当代初19489
隋117084
唐末宋初111844
先秦5708
隋末唐初47240
汉36383
宋末金初2349
辽227
秦22
魏晋末南北朝初11
总和85338529377

数据说明

古诗词数据按朝代存储在多个 CSV 文件中,以避免单个文件过大。有 题目、朝代、作者 和 内容 四个字段。

古诗词中有一些生僻字,属于 utf8mb4 字符,在许多设备中无法显示,使用 ? 替代。

导入数据库

为方便导入,将多个 CSV 文件合并成一个。这通过执行如下命令实现:

python scripts/merge.py

该命令将在当前目录下生成 poetry.csv 文件。

MySQL 8

创建数据库:

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);

License

MIT 许可证。

chinese
chinese-poetry
csv
data
poetry

Werneror/Poetry

非常全的古诗词数据,收录了从先秦到现代的共计85万余首古诗词。

Python

1,786

15 commits

updated Aug 8, 2023

See the code

README

Poetry

非常全的古诗词数据,收录了从先秦到现代的共计 85 万余首古诗词。

统计信息

朝代诗词数作者数
宋2871149446
明2369574439
清900898872
唐491952736
元373751209
近现代28419790
当代28219177
明末清初17700176
元末明初1573679
清末民国初1536799
清末近现代初1246448
宋末元初1205841
南北朝4586434
近现代末当代初342623
魏晋3020251
金末元初301917
金2741253
民国末当代初19489
隋117084
唐末宋初111844
先秦5708
隋末唐初47240
汉36383
宋末金初2349
辽227
秦22
魏晋末南北朝初11
总和85338529377

数据说明

古诗词数据按朝代存储在多个 CSV 文件中,以避免单个文件过大。有 题目、朝代、作者 和 内容 四个字段。

古诗词中有一些生僻字,属于 utf8mb4 字符,在许多设备中无法显示,使用 ? 替代。

导入数据库

为方便导入,将多个 CSV 文件合并成一个。这通过执行如下命令实现:

python scripts/merge.py

该命令将在当前目录下生成 poetry.csv 文件。

MySQL 8

创建数据库:

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);

License

MIT 许可证。

chinese
chinese-poetry
csv
data
poetry

Significant stargazers

meetqy

226 followers · starred Nov 2025

XINDOO

305 followers · starred Sep 2020

Chen Zhiwei

182 followers · starred Nov 2022

WANG Lei

63 followers · starred Nov 2020