文件写入数据库

步骤:

  1. 读取数据  2.封装数据对象(复用数据分析的代码)

3.通过connection构建MySql的链接对象,传入主机名,端口,账户,密码四个参数。

4.通过Mysql的链接对象获得游标对象,用于执行sql语句。

5.使用链接对象的select_db方法选择数据库

6.组织SQL语句,for循环遍历数据集合list,将数据集合list封装为数据对象record,再通过sql语句将record写入数据库,最后关闭MySql的链接对象

7.sql语句:

数据插入:

数据读出:

代码


from pymysql import Connection

from file_define import FileReader, TextFileReader, JsonFileReader
from data_define import Record

text_file_reader = TextFileReader(
    r"C:\Users\w\Desktop\考研\课件\2011年1月销售数据.txt")  # 在windows系统当中读取文件路径可以使用,但是在python字符串中\有转义的含义,如\t可代表TAB,\n代表换行,所以我们需要采取一些方式使得\不被解读为转义字符。在路径前面加r,即保持字符原始值的意思
json_file_reader = JsonFileReader(r"C:\Users\w\Desktop\考研\课件\2011年2月销售数据JSON.txt")

jan_data: list[Record] = text_file_reader.read_data()
feb_data: list[Record] = json_file_reader.read_data()
# 将两个月数据合并为一个list来存储
all_data: list[Record] = jan_data + feb_data


# 构建MySql链接对象
conn = Connection(
    host="localhost",  # 主机名ip
    port=3306,  # 端口
    user="root",  # 账户
    password="123456"  # 密码
)

# 获得游标对象,用于执行sql语句
cursor = conn.cursor()

# 选择数据库
conn.select_db("py_sql")

# 组织SQL语句
for record in all_data:
    sql = f"insert into orders(order_date, order_id, money, province) values('{record.date}', '{record.order_id}', '{record.money}', '{record.province}') "
    # 执行该sql语句
    cursor.execute(sql)
    print(sql)
# 关闭Mysql链接对象
conn.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值