当前位置: 首页 > news >正文

利用社交网站做淘宝客计算机信息网络系统

利用社交网站做淘宝客,计算机信息网络系统,网页设计和网站建设的课程设计,室内设计素材网站哪个最好学python#xff0c;操作数据库是必不可少的#xff0c;不光要会写python代码#xff0c;还要会写SQL语句#xff0c;本篇文章主要讲如何把本地txt文件中的数据读取出来并写入到对应的数据库中#xff0c;同时将数据库单个表中的数据读出来保存在本地txt文件中。 话不多说… 学python操作数据库是必不可少的不光要会写python代码还要会写SQL语句本篇文章主要讲如何把本地txt文件中的数据读取出来并写入到对应的数据库中同时将数据库单个表中的数据读出来保存在本地txt文件中。 话不多说我们开始吧 读取文件数据写入到数据库 读取文件数据并封装 有两个txt文件一个是普通文本格式一个是json格式部分数据截图见本篇文章的最后附录部分。一个是2011年的1月份销售数据一个是2011年的2月份销售数据我们需要分别读出这两个文件的数据并写入同一个表中。 1月份数据是普通文本使用逗号分割数据记录从前到后分别是(日期订单id销售额销售省份) 2月份数据是JSON数据同样包含 (日期订单id销售额销售省份) 根据面向对象的思想我们可以设计一个FileReader类进行数据的读取我们读取到的数据也可以封装到一个类里面叫做数据封装类也就是每一条数据都可以得到一个具体的类对象 1数据定义的类 设计一个类完成数据封装新建一个python文件名为data_define.py根据数据的分析成员变量包含 date, order_id, money, province # 数据定义的类 class Record:def __init__(self, date, order_id, money, province):self.date date # 订单日期self.order_id order_id # 订单IDself.money money # 订单金额self.province province # 销售省份def __str__(self):return f{self.date}, {self.order_id}, {self.money}, {self.province}2定义文件相关的类 设计一个抽象类定义文件读取的相关功能并使用子类实现具体功能因为文件的数据格式不同我们读取文件的具体实现逻辑也不一样所以定义一个抽象类通过子类去实现具体数据的具体读取方法。 新建一个python文件名为file_define.py,先定义一个抽象类FileRecord用来做顶层设计确定有哪些功能read_data方法需要实现并分别定义TextFileRecord类和JsonFileRecord类继承FileRecord类复写父类的read_data方法 具体代码如下 from data_define import Record import json# 先定义一个抽象类用来做顶层设计确定有哪些功能需要实现 class FileRecord:def read_data(self) - list[Record]:# 读取文件的数据读到的每一条数据都转换为Record对象将他们都封装到List内并返回即可passclass TextFileRecord(FileRecord):def __init__(self, path):self.path path # 定义成员变量记录文件路径# 复写实现抽象方法父类的方法def read_data(self) - list[Record]:f open(self.path, r, encodingUTF-8)record_list: list[Record] []for line in f.readlines():line line.strip() # 消除读取到的每一行数据中的\ndata_list line.split(,)record Record(data_list[0], data_list[1], int(data_list[2]), data_list[3])record_list.append(record)# print(record_list)f.close()return record_listclass JsonFileRecord(FileRecord):def __init__(self, path):self.path path # 定义成员变量记录文件路径# 复写实现抽象方法父类的方法def read_data(self) - list[Record]:f open(self.path, r, encodingUTF-8)record_list: list[Record] []for line in f.readlines():data_dict json.loads(line)record Record(data_dict[date], data_dict[order_id], data_dict[money], data_dict[province])record_list.append(record)# print(record_list)f.close()return record_listif __name__ __main__:# 测试读取文本文件text_file_record TextFileRecord(G:\资料\2011年1月销售数据.txt)lin1 text_file_record.read_data()for l1 in lin1:print(l1)# 测试读取json文件json_file_record JsonFileRecord(G:\资料\2011年2月销售数据JSON.txt)lin2 json_file_record.read_data()for l2 in lin2:print(l2)运行结果 3合并数据 新建一个python文件main.py读取数据并将1月份数据和2月份数据合并 from file_define import FileRecord, TextFileRecord, JsonFileRecord from data_define import Recordtext_file_record TextFileRecord(G:\资料\2011年1月销售数据.txt) json_file_record JsonFileRecord(G:\资料\2011年2月销售数据JSON.txt) jan_data: list[Record] text_file_record.read_data() # 读取1月份数据并保存到jan_data feb_data: list[Record] json_file_record.read_data() # 读取2月份数据并保存到feb_data all_data: list[Record] jan_data feb_data # 合并两个月份的数据 # print(all_data)合并数据之后的结果 构建数据库链接并写入数据库 我们首先需要导包from pymysql import Connection我在代码中分别创建了sell数据库和orders表其实可以直接通过数据库可视化工具创建创建完成后直接执行insert插入语句即可参考代码如下 # 构建数据库链接 conn Connection(hostlocalhost,port3306,userroot,password123456,autocommitTrue # 执行sql语句时自动提交 ) # 构建游标对象 cur conn.cursor() cur.execute(SHOW DATABASES) database_list [] for db in cur:database_list.append(db[0]) print(database_list) # 打印出当前所有数据库 if sell in database_list: # 如果数据库存在则不创建如果不存在则创建数据库sellpass else:creat_data_base CREATE DATABASE sellcur.execute(creat_data_base)conn.select_db(sell) cur.execute(SHOW TABLES) tab_list [] for tab in cur:tab_list.append(tab[0]) print(tab_list) # 打印当前库中的所有表 if orders in tab_list: # 如果表存在则不创建如果不存在则创建表orderspass else:cur.execute(CREATE TABLE orders(order_date DATE,order_id VARCHAR(255),money INT,province VARCHAR(10))) # 遍历所有数据并执行插入语句 for record in all_data:sql fINSERT INTO sell.orders(order_date,order_id,money,province) VALUES ({record.date},{record.order_id},{record.money},{record.province})print(sql)cur.execute(sql)# 关闭数据库链接 cur.close()运行代码成功之后可在数据库中看到数据已经正常写入orders表中 从数据库读取数据并保存到本地 相对写入数据来说读取数据保存到本地更加简单先从数据库读取数据然后处理数据之后保存到本地文件即可。 1保存为txt文件 代码如下 from pymysql import Connection from data_define import Record# 构建数据库链接 conn Connection(hostlocalhost,port3306,userroot,password123456,autocommitTrue # 执行sql语句时自动提交 ) # 构建游标对象 cur conn.cursor() cur.execute(select * from sell.orders) # 读取orders表中的所有数据record_list [] for data in cur:record Record(data[0], data[1], data[2], data[3])record_list.append(record) # 将读取的每一数据封装成一个Record对象并添加到record_list列表中f open(E:\sell_orders_data.txt, w) # 文件存在则直接覆盖文件中的内容写入不存在先创建文件再写入数据 for sell_data in record_list:# 只能写入str类型的则把读取的Record对象转化为str每个字段用,分割str_data str(sell_data.date) , sell_data.order_id , str(sell_data.money) , sell_data.provincef.write(str_data)f.write(\n) f.close()查看保存的txt文件 2保存为excel文件 代码如下 import xlwt # 写入到excel文件中 # 调用xlwt模块中的Workbook方法来创建一个excel表格类型文件style_compression设置是否压缩赋值为0表示不压缩。 book xlwt.Workbook(encodingutf-8, style_compression0) # 用book对象调用add_sheet方法来建立一张sheet表这里面的第一个参数很明显就是设置sheet表格的名称第二个参数cell_overwrite_ok用于确认同一个cell单元是否可以重设值这里赋值为True就表示可重设值。 sheet book.add_sheet(销售数据表, cell_overwrite_okTrue) # 用一个元组col自定义列的数量以及各列的属性名 col (销售日期, 订单ID, 销售额, 省份) # 写入表头 for i in range(0, 4):sheet.col(i).width 5000 # 设置宽度sheet.write(0, i, col[i]) datastyle xlwt.XFStyle() # 创建一个样式对象初始化样式 datastyle.num_format_str yyyy-mm-dd # 设置日期格式 # 循环record_list数据并写入 for row in range(1, len(record_list) 1):sheet.write(row, 0, record_list[row - 1].date, datastyle) # 如果不加datastyle写出来的日期列格式是不对的sheet.write(row, 1, record_list[row - 1].order_id)sheet.write(row, 2, record_list[row - 1].money)sheet.write(row, 3, record_list[row - 1].province)book.save(E:\订单销售额.xls)f.close()查看保存的excel文件 附录 行动吧在路上总比一直观望的要好未来的你肯定会感 谢现在拼搏的自己如果想学习提升找不到资料没人答疑解惑时请及时加入扣群 320231853里面有各种软件测试开发资料和技术可以一起交流学习哦。 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 ​ 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你
http://www.hkea.cn/news/14491623/

相关文章:

  • 建设小学瓯江小区网站徐州网站建设哪家好
  • 网站备案流程阿里云seo薪资seo
  • 免费wordpress响应式企业主题哈尔滨网站基础优化
  • 算命网站建设开发怎么做一个网站出来
  • 网站怎么建设商城中国建设银行人才招聘官方网站
  • 浏览器收录网站天津网站优化方案
  • 分析网站设计外贸公司一年能赚多少
  • 网络公司网站建设首页短期网站建设培训班
  • 遵义公司做网站无锡网站优化公司
  • 网站建设全过程及如何赚钱郑州企业网站优化排名
  • 2015年做那个网站致富钢结构工程外包项目网
  • 企业网站建设长沙树莓派wordpress
  • 设计网站建设图片wordpress留言表单
  • 哈尔滨个人建站模板合肥房产网二手房出售
  • 网站规划建设书软件开发管理软件
  • 电子商城网站建设的实训内容记述怎样创建一个网址
  • 新站seo外包安徽省所有建设类网站
  • 个人网站需要哪些内容网站开发风险
  • 注册网站后邮箱收到邮件口碑好的聊城网站建设
  • 怎么搜 织梦的网站网站开发实践
  • 铁岭市网站建设辽宁网站建设招标
  • 南宁网站制作开发公司seo排名优化联系13火星软件
  • 视频网站顶部效果怎么做的在哪些网站上发外链好
  • wordpress建站有什么好处wordpress如何让设置关键词
  • 查询数据的网站怎么做的做网站需要备案吗
  • 深圳汽车网站建设怎么对网站上的游记做数据分析
  • 公路水运建设质量安全监督网站优化网站设计有哪些方法
  • 网站代理服务器连接失败wordpress添加下载
  • 重庆网站seo费用深圳网站建设制作哪家便宜
  • 网站注册信息查询wordpress去掉