在Python编程中,经常需要将处理后的数据存储到数据库中,以便后续的查询和分析。本篇主要讲解如何利用Python将数据框(通常为Pandas DataFrame类型)的数据写入MongoDB和MySQL数据库,这两种数据库在大数据处理和Web开发中都有广泛的应用。 我们来看如何将数据框数据写入MongoDB。MongoDB是一个NoSQL数据库,它以JSON格式存储数据,非常适合非结构化或半结构化的数据。Python中常用的MongoDB驱动是`pymongo`库。 1、数据框数据写入MongoDB方法: ```python from pymongo import MongoClient # 创建MongoDB连接 con = MongoClient() # 连接到数据库(这里假设数据库名为'Class') db = con['Class'] # 选择或创建集合(类似表的概念) post = db['Class'] # 假设df是DataFrame,以下代码将逐条插入数据 for i in range(0, len(df)): # 将DataFrame的一行转换为字典 doc = { 'Class': df.iloc[i, 0], 'Course': df.iloc[i, 1], 'Title': df.iloc[i, 7], 'Section': df.iloc[i, 5], 'Type': df.iloc[i, 8], 'Days': df.iloc[i, 2], 'Time': df.iloc[i, 6], 'Room': df.iloc[i, 4], 'Location': df.iloc[i, 3], 'Instructors': df.iloc[i, 9], 'Status': df.iloc[i, 10] } # 插入数据 post.insert_one(doc) ``` 这段代码中,我们先导入了`pymongo`库,然后通过`MongoClient`建立与MongoDB服务器的连接,并指定数据库和集合。接着,遍历DataFrame的每一行,将其转换为字典并插入到集合中。 接下来,我们讨论如何将数据框数据写入MySQL。MySQL是一个关系型数据库,适合处理结构化数据。Python中常用的MySQL连接库是`pymysql`。 2、数据框数据写入MySQL方法: ```python import pymysql # 创建MySQL连接 dbconn = pymysql.connect( host="127.0.0.1", database="cgjr", user="root", password="12345", port=3306, charset='utf8' ) # 使用with语句确保数据库连接在操作完成后会被关闭 try: with dbconn.cursor() as cursor: # 定义SQL插入语句 sql = 'INSERT INTO t_tao_info (num, price, city, shop_name, title, number, link, sale) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)' for i in range(0, len(data)): print(f"正在插入数据:{i}") # 执行SQL插入语句 cursor.execute(sql, ( data.iloc[i, 0], data.iloc[i, 1], data.iloc[i, 2], data.iloc[i, 3], data.iloc[i, 4], data.iloc[i, 5], data.iloc[i, 6], data.iloc[i, 7] )) # 提交事务,确保数据被保存 dbconn.commit() except pymysql.Error as e: print(f"Error {e.args[0]}: {e.args[1]}") sys.exit(1) finally: dbconn.close() print('数据已插入,插入数据库成功!') ``` 这段代码中,我们使用`pymysql`库创建与MySQL服务器的连接,然后使用`cursor`执行SQL插入语句。注意,由于MySQL需要手动提交事务,所以在每条数据插入后,我们需要调用`commit()`方法。 总结,Python将数据框数据写入MongoDB和MySQL数据库,关键在于将DataFrame转换为数据库能理解的格式(字典或元组),然后使用对应的数据库API进行数据操作。在实际应用中,还需要考虑错误处理、批量插入优化以及数据库性能调整等方面的问题。了解这些基本操作后,你可以根据项目需求进行更复杂的数据库操作,如查询、更新和删除数据等。






























- 粉丝: 9
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 如何通过东吴交易软件购买风险警示和退市整理.docx
- 进口木材电子商务及物流成本研究.docx
- 《数据库应用技术》复习资料.doc
- 智能家居安全监控系统设计.doc
- Android平台的校物多功能交易系统设计方案.doc
- 无线网络建设方案.docx
- 第7节网络文明与安全.doc
- 基于超星学习通平台的计算机应用基础教学研究.docx
- 基于自主学习的开放教育网络教学资源用户需求研究.docx
- 5G医疗保健中的区块链安全与隐私解决方案
- Orcad使用及原理图数据库建设维护技巧.ppt
- 网络视频监控打造平安体育场馆-公共场所其他.docx
- 基于单片机电容测量仪方案设计书.doc
- 浅析互联网+新媒体下的档案宣传工作.docx
- 密码学中加密算法的研究与实现.docx
- 网络犯罪的管辖问题研究.docx


