使用 pandas 轻松插入数据库表 (pandas 插入数据库表)

在数据分析的过程中,使用 pandas 是必不可少的。pandas 提供了丰富的功能来处理和分析数据,其中一个比较实用的功能是将数据导入到数据库表中。本文将介绍如何使用 pandas 轻松地将数据插入到数据库表中。

一、准备数据库和数据

在本文中,我们将以 MySQL 数据库为例介绍将数据插入到数据库表中的方法。需要准备好 MySQL 数据库,并创建一个表用于存储数据。在这里,我们创建一个名为“employees”的表,用于存储员工信息。

CREATE TABLE employees (

emp_no INT NOT NULL,

birth_date DATE NOT NULL,

first_name VARCHAR(14) NOT NULL,

last_name VARCHAR(16) NOT NULL,

gender ENUM(‘M’,’F’) NOT NULL,

hire_date DATE NOT NULL,

PRIMARY KEY (emp_no)

);

接下来,准备一份包含员工信息的 CSV 文件,用于导入数据。在这里,我们使用的是经典的“Employees Sample Database”,该数据集包含了来自雇员数据库的完整数据。

二、连接数据库

在将数据插入到数据库表中之前,需要先连接到数据库。pandas 支持连接到多种数据库,包括 MySQL、SQLite、PostgreSQL 等。在这里,我们以 MySQL 为例进行介绍。

需要安装 MySQL 驱动程序。可以通过 pip 安装 mysql-connector-python 驱动程序。

pip install mysql-connector-python

接下来,使用以下代码连接到 MySQL 数据库。

import mysql.connector

mydb = mysql.connector.connect(

host=”localhost”,

user=”yourusername”,

password=”yourpassword”,

database=”yourdatabase”

)

cursor = mydb.cursor()

注:将“yourusername”、“yourpassword”和“yourdatabase”替换为您的 MySQL 用户名、密码和数据库名。

三、读取数据

在连接到数据库之后,需要读取数据并将其存储到 pandas 数据框中。可以使用 pandas 的 read_csv() 函数读取 CSV 文件,并存储为 pandas 数据框。

import pandas as pd

data = pd.read_csv(’employees.csv’)

四、数据清理和转换

在将数据插入到数据库中之前,可能需要对数据进行一些清理和转换。在这里,我们需要将数据转换为符合数据库表的格式。具体来说,我们需要进行以下操作:

– 将列名修改为数据库表的列名

– 将日期类型转换为 MySQL 的 DATE 类型

– 将字符串类型转换为 ENUM 类型

以下是代码示例:

# 将列名修改为数据库表的列名

data.rename(columns={’emp_no’: ‘EmployeeNumber’, ‘birth_date’: ‘BirthDate’, ‘first_name’: ‘FirstName’, ‘last_name’: ‘LastName’, ‘gender’: ‘Gender’, ‘hire_date’: ‘HireDate’}, inplace=True)

# 将日期类型转换为 MySQL 的 DATE 类型

data[‘BirthDate’] = pd.to_datetime(data[‘BirthDate’]).dt.strftime(‘%Y-%m-%d’)

data[‘HireDate’] = pd.to_datetime(data[‘HireDate’]).dt.strftime(‘%Y-%m-%d’)

# 将字符串类型转换为 ENUM 类型

data[‘Gender’] = data[‘Gender’].map({‘M’: ‘Male’, ‘F’: ‘Female’})

五、插入数据

现在,我们已经准备好了要插入表的数据,接下来需要将数据插入到数据库表中。可以使用 pandas 的 to_sql() 函数将数据插入到数据库表中。以下是代码示例:

table_name = ’employees’

data.to_sql(name=table_name, con=mydb, if_exists=’append’, index=False)

以上代码将数据插入到名为“employees”的表中。

六、检查数据

在将数据插入到数据库表中之后,最后一步是检查数据是否已成功插入。可以使用以下代码从数据库中读取数据,并将其存储为 pandas 数据框。

query = “SELECT * FROM employees”

cursor.execute(query)

data = pd.DataFrame(cursor.fetchall(), columns=[‘EmployeeNumber’, ‘BirthDate’, ‘FirstName’, ‘LastName’, ‘Gender’, ‘HireDate’])

print(data)

以上代码将从 database 表中检索数据,并将其存储为 pandas 数据框。我们可以使用 print() 函数检查结果是否正确。

七、

本文介绍了如何使用 pandas 轻松地将数据插入到 MySQL 数据库表中。通过连接数据库、读取数据、数据清理和转换以及插入数据等步骤,我们可以轻松地将数据插入到数据库中,并且可以轻松地检查数据是否已成功插入。pandas 提供了功能强大、易于使用的工具,使得数据分析和数据处理变得更加容易。如果您正在使用 pandas 进行数据分析,那么将数据导入到数据库表中可能是非常实用的一种技能。

相关问题拓展阅读:

  • python pandas to_sql将excel数据导入到MySQL数据库

python pandas to_sql将excel数据导入到MySQL数据库

其实吧, 一分钟10W条数据不能算太快,10秒10W条还差不多。 可以研究一下线程+进程来处理, 或者协程+进程。处理速度肯定能让你喊一声“!” 哈哈。

言归正传, 你说的别的MySQL是不是远程的,通过ip来连接的哈, 如果是的话那就可以理解了。 每次连接一次数据库,都有一个网络延迟的,2台电脑之间距离越远,这个延迟就越高,而每次导入数据的时间必须要加上这个延迟的时间的, 而本地测试的时候因为连接数据库的时间延迟基本可以忽略不计,所以速度要比连接远程数据库要快很多很多。

最后, 如果想要解决这个问题的话,要么把业务数据库移到本地,去掉时间延迟。 要么就用我上面说的线程+进程 或者 协程+进扮陵竖程的方式提高程序效率。如果无法把业务数据厅大库移到本地的话, 我非常推荐后者,成本也就是多学一点东西而已, 但以后可以省下非常多的时间汪坦, 效率为王嘛~

关于pandas 插入数据库表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/245915.html<

(0)
运维的头像运维
上一篇2025-04-26 10:02
下一篇 2025-04-26 10:03

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注