背景介绍
中药作为中国传统医学的重要组成部分,拥有数千年的历史,随着现代医学的发展和信息技术的普及,中药数据管理也从传统的纸质记录逐渐转向了数字化管理,本文将详细介绍如何使用MySQL数据库来管理中药数据,包括数据库设计、数据导入以及相关操作。
数据库设计
在设计中药数据库时,需要考虑到中药的各种属性和信息,以下是一个基本的中药数据库表结构设计:
创建中药表
我们需要创建一个名为tb_cmedicine
的表,用于存储中药的基本信息,建表语句如下:
CREATE TABLE tb_cmedicine ( id INT AUTO_INCREMENT PRIMARY KEY, 自增ID作为主键 title VARCHAR(100) NOT NULL, 中药名 pinyin VARCHAR(100) NOT NULL, 拼音 alias VARCHAR(255), 别名 source TEXT, 来源 english_name VARCHAR(255), 外文名 habitat TEXT, 生长环境分布 flavor TEXT, 性味 functional_indications TEXT, 功能主治 usage TEXT, 用法用量 excerpt TEXT, 摘录 provenance TEXT, 出处 shape_properties TEXT, 性状 attribution TEXT, 归经 prototype TEXT, 原形态 discuss TEXT, 各家评述 chemical_composition TEXT 化学成分 ) ENGINE=InnoDB;
字段说明
id
: 自增ID,作为主键。
title
: 中药的名称。
pinyin
: 中药的拼音。
alias
: 中药的别名。
source
: 中药的来源。
english_name
: 中药的英文名称。
habitat
: 中药的生长环境分布。
flavor
: 中药的性味。
functional_indications
: 中药的功能主治。
usage
: 中药的用法用量。
excerpt
: 中药的摘录。
provenance
: 中药的出处。
shape_properties
: 中药的性状。
attribution
: 中药的归经。
prototype
: 中药的原形态。
discuss
: 中药的各家评述。
chemical_composition
: 中药的化学成分。
数据导入
在完成数据库表的设计之后,下一步是导入数据,这里假设我们已经有一个Excel文件zhongyao_data.xlsx
,其中包含了我们需要导入的中药数据,我们可以使用Python的pandas库来读取Excel文件,并将数据导入到MySQL数据库中。
import pandas as pd
from config import cnn
读取 Excel 文件
df = pd.read_excel('zhongyao_data.xlsx')
将 NaN 替换为空字符串
df = df.fillna('')
获取数据库的游标对象
with cnn.cursor() as cursor:
# 遍历 DataFrame 中的每一行,插入到数据库中
for index, row in df.iterrows():
# 构造 SQL 插入语句
sql = """
INSERT INTO tb_cmedicine (title, pinyin, alias, source, english_name, habitat, flavor, functional_indications,usage
, excerpt, provenance, shape_properties, attribution, prototype, discuss, chemical_composition)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
"""
cursor.execute(sql, (
row['title'],
row['pinyin'],
row['alias'],
row['source'],
row['english_name'],
row['habitat'],
row['flavor'],
row['functional_indications'],
row['usage'],
row['excerpt'],
row['provenance'],
row['shape_properties'],
row['attribution'],
row['prototype'],
row['discuss'],
row['chemical_composition']
))
提交事务
cnn.commit()
finally:
# 关闭数据库连接
cnn.close()
print("数据导入成功!")
导入效果
执行上述代码后,可以利用Navicat等工具查看数据导入的结果,确保所有数据都正确无误地导入到了tb_cmedicine
表中。
数据清洗说明
在实际操作过程中,可能会遇到Excel文件中存在大量NaN值的情况,为了避免在MySQL插入数据时出现错误,我们使用了pandas的fillna('')
方法将所有的NaN值替换为空字符串,这样可以确保数据的完整性和一致性。
归纳与展望
通过本文的介绍,我们了解了如何使用MySQL数据库来管理和存储中药数据,从数据库的设计到数据的导入,每一步都有详细的说明和示例代码,随着技术的发展,我们可以进一步优化数据库结构,增加更多的功能模块,如中药方剂管理、药材库存管理等,以满足更多用户的需求,也可以结合大数据分析和人工智能技术,对中药数据进行更深入的研究和应用,推动中医药事业的发展。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1235748.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复