key_sr = 'sr'
value1 = column_sr[1].text.strip().replace(',', '')
value2 = column_sr[2].text.strip().replace(',', '')
value3 = column_sr[3].text.strip().replace(',', '')
value4 = column_sr[4].text.strip().replace(',', '')
data_dict[year+key_sr+'1'] = value1
data_dict[year+key_sr+'2'] = value2
data_dict[year+key_sr+'3'] = value3
data_dict[year+key_sr+'4'] = value4
chengBen = all_tr[5]
column_cb = chengBen.find_all('td')
if len(column_cb) >= 2:
key_cb = 'cb'
value1 = column_cb[1].text.strip().replace(',', '')
value2 = column_cb[2].text.strip().replace(',', '')
value3 = column_cb[3].text.strip().replace(',', '')
value4 = column_cb[4].text.strip().replace(',', '')
data_dict[year+key_cb+'1'] = value1
data_dict[year+key_cb+'2'] = value2
data_dict[year+key_cb+'3'] = value3
data_dict[year+key_cb+'4'] = value4
liRun = all_tr[18]
column_lr = liRun.find_all('td')
if len(column_lr) >= 2:
key_lr = 'lr'
value1 = column_lr[1].text.strip().replace(',', '')
value2 = column_lr[2].text.strip().replace(',', '')
value3 = column_lr[3].text.strip().replace(',', '')
value4 = column_lr[4].text.strip().replace(',', '')
data_dict[year+key_lr+'1'] = value1
data_dict[year+key_lr+'2'] = value2
data_dict[year+key_lr+'3'] = value3
data_dict[year+key_lr+'4'] = value4
# 将数据存储字典保存为JSON文件
output_filename = "data.json"
with open(output_filename, 'w') as json_file:
json.dump(data_dict, json_file, ensure_ascii=False, indent=4)
print(f"数据已保存到{output_filename}")
对数据进行处理。
import json
import pandas as pd
import matplotlib.pyplot as plt
# 将JSON数据解析为字典
with open('data.json', 'r', encoding='utf-8') as json_file:
data_dict = json.load(json_file)
# 初始化数据存储字典
data = {
"year": [],
"zongshouru": [],
"zongchengben": []
# 解析JSON数据并填充数据存储字典
for year in ["1", "2", "3", "4", "5"]:
sr_sum = sum(float(data_dict[f"{year}sr{i}"]) for i in range(1, 5))
cb_sum = sum(float(data_dict[f"{year}cb{i}"]) for i in range(1, 5))
data["year"].append(year)
data["zongshouru"].append(sr_sum)
data["zongchengben"].append(cb_sum)
# 将数据存储字典转换为DataFrame
df = pd.DataFrame(data)
# 绘制折柱混合图
plt.figure(figsize=(10, 6))
# 绘制折线图
plt.plot(df["year"], df["zsr"], marker='o', label="zsr", color="blue")
plt.plot(df["year"], df["zcb"], marker='o', label="zcb", color="orange")
# 绘制柱状图
plt.bar(df["year"], df["zsr"], width=0.4, align='center', alpha=0.5, color="blue")
plt.bar(df["year"], df["zcb"], width=0.4, align='edge', alpha=0.5, color="orange")
plt.xlabel('year')
plt.ylabel('amount')
plt.title('this is title(unit: 100K)')
plt.legend()
plt.grid(True)
plt.show()
对数据进行处理的部分2,进行折线图绘制使用echart
# 根据季报数据,计算出公司近五年(2018到2022年)的营业利润,
# 分年度展示每一年四个季度的营业利润。
# 要求:年度可以切换,使用折线图展示
import json
import pandas as pd
import matplotlib.pyplot as plt
# 将JSON数据解析为字典
with open('data.json', 'r', encoding='utf-8') as json_file:
data_dict = json.load(json_file)
# 初始化数据存储字典
data = {
"年份": [],
"Q1": [],
"Q2": [],
"Q3": [],
"Q4": []
# 解析JSON数据并填充数据存储字典
for year in ["1", "2", "3", "4", "5"]:
data["年份"].append(year)
for quarter in ["Q1", "Q2", "Q3", "Q4"]:
lr_key = f"{year}lr{quarter[1]}"
if lr_key in data_dict:
data[quarter].append(float(data_dict[lr_key]))
else:
data[quarter].append(0.0)
# print(data)
# 将数据存储字典转换为DataFrame
df = pd.DataFrame(data)
# 绘制折线图
plt.figure(figsize=(10, 6))
for quarter in ["Q1", "Q2", "Q3", "Q4"]:
plt.plot(df["年份"], df[quarter], marker='o', label=quarter)
plt.xlabel('year')
plt.ylabel('lirun')
plt.title('Company 5 years Every Quarters LiRun')
plt.legend()
plt.grid(True)
plt.show()
记录一下python的学习过程。
Python-数据序列化:pickle模块1 将Python数据存储为本地文件2 将Python数据存储为程序的一部分
在英语中 pickle 名词是泡菜,动词是腌渍的意思。可以理解为把东西腌起来保存成文件,要用的时候读出来洗洗再用。
python的pickle模块实现了基本的数据序列化和反序列化。
序列化对象可以在磁盘上保存对象,并在需要的时候读取出来。任何对象都可以执行序列化操作。
pickle的本质是将Python数据还原为内存中的二进制数据,共用户转移、储存。
pickle模块通常会在2种场景下使
将爬取的数据存为json格式,你会吗?
之前我都是将数据爬取后存为txt、csv或者excel,json格式几乎没有。于是乎我就想试一下,如何将爬取的数据存为json文件。于是我便查了一下使用json格式的好处,不查不知道,一查吓一跳。好家伙呀,json格式的特点和优势可真不少呢。json格式的特点和优势大致为:
JSON数据清晰、易于读写
JSON有很多工具类支持它的转换
JSON在所有主流浏览器有很好的支持
JSON在传输时数据量更小、传输更快
JSON在JS中有天然的语言优势(因为它是标准的子集合)
ms = mssqlhelper.MSSQL(host="192.168.0.108", user="sa", pwd="sa", db="ComPrject")
def getAreas(cityid):
ar...
今天开发那边给了一个json文件。里面大概有6W的数据。明天需要对数据进行比较。放了方便阅读比较,写了个简单的脚本转换成excel文件。
代码如下:
# -*- coding:utf-8 -*-