4.2月26日 项目: 北京菜市场数据存储 (excel形式)
之前课程中我们将获取到的数据存储到了多个json文件中,
虽然完成了数据的存储,但数据分散,且不直观,也无法分析。
故本节课,将数据存储到excel中能更便于查看和分析。
本课使用数据集如下(就是上节课的代码下载的,只不过我下载的数据量比较大):
新发地34W条数据.zip
openpyxl库的使用
openpyxl 是一个 Python 库,用于操作 Excel 文件(.xlsx 格式)。它允许你读取、写入和修改 Excel 文件中的数据,并提供了丰富的功能来处理工作表、单元格、图表等。下面是一些 openpyxl 库的基本用法:
后续学习了pandas后会有更好的应用方式,先按下不表。
安装
首先,你需要安装 openpyxl 库。你可以使用 pip 来进行安装:
pip install openpyxl
写:创建一个 Excel 文件
from openpyxl import Workbook
# 创建一个工作簿
workbook = Workbook()
# 激活一个工作表
sheet = workbook.active
# 向单元格写入数据
data_row=['a1','b1']
sheet.append(data_row)
# 保存工作簿
workbook.save(filename="example.xlsx")
读:打开并读取 Excel 文件
from openpyxl import load_workbook
# 打开现有的 Excel 文件
workbook = load_workbook(filename="example.xlsx")
# 获取默认工作表
sheet = workbook.active
# 读取单元格数据
print(sheet['A1'].value)
print(sheet['B1'].value)
读:遍历工作表中的数据
# 遍历行
# values_only=True: 这是一个参数,用于指定是否只返回单元格的值而不返回其他元数据。设置为 True 表示只返回单元格的值,而不包括格式、样式等其他信息。
for row in sheet.iter_rows(values_only=True):
print(row)
# 遍历列
for column in sheet.iter_cols(values_only=True):
print(column)
项目: 北京菜场数据excel存储代码
不要重新爬取了,直接下载以下文件:
import json
from openpyxl import Workbook
file_list=[]
for i in range(1,1153):
file_list.append("./2.2 json文件/"+str(i)+".数据.json")
print(file_list)
# 创建一个工作簿对象
wb = Workbook()
# 激活工作表
ws = wb.active
header = ['菜名', '类别', '均价', '规格信息', '单位信息', '更新时间']
ws.append(header)
for filename in file_list:
with open(filename, 'r',encoding='utf-8') as json_file:
data = json.load(json_file)
for i in range(0,len(data['list'])):
#菜名
prodName=data['list'][i]['prodName']
#类别
prodCat=data['list'][i]['prodCat']
#均价
price=data['list'][i]['avgPrice']
#规格信息
specInfo=data['list'][i]['specInfo']
#单位信息
unitInfo=data['list'][i]['unitInfo']
#更新时间
pubDate=data['list'][i]['pubDate']
prod_item=[prodName,prodCat,price,specInfo,unitInfo,pubDate]
print(prod_item)
ws.append(prod_item)
wb.save('./data.xlsx')
试着打开excel进行分析
34万条数据,只有10M。远远谈不上大数据,大数据至少上G级别。但也能发现已经非常挑战excel的性能了。
故,接下来我们使用mysql进行数据存储。用dataease实现数据可视化(仪表盘)。
作业:
提交mysql创建数据库的sql语句。结构如下:
| 列名 | id | prodName | prodCat | avgPrice | specInfo | unitInfo | pubDate |
|---|---|---|---|---|---|---|---|
| 类型 | PRIMARY KEY | VARCHAR | VARCHAR | DECIMAL | VARCHAR | VARCHAR | DATE |
请提交创建数据库的mysql语句,并对其中部分关键词进行解释。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 现代职校董良
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果