动态可视化图表:“城市居民与农民生存大解析!消费指数狂飙,究竟是福是祸?

本文主要是介绍动态可视化图表:“城市居民与农民生存大解析!消费指数狂飙,究竟是福是祸?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

地址

https://www.bilibili.com/video/BV1W64y1N7oV/?share_source=copy_web&vd_source=494dad6ec7cce090ffcc05c1b6a83c00

图片

在这里插入图片描述

源代码

在这里插入图片描述
main.py

import json
import pandas as pd# 此处修改!!!!!!!!!!!!!!!!这里找到配置文件!!!
with open('config/config.json', 'r') as config_file:config = json.load(config_file)# 使用配置信息
file_path = config["file_path"]
num_columns = config["num_columns"]
labels = config["labels"]
years = config["years"]# 读取文件内容
with open(file_path, 'r') as file:lines = file.readlines()# 将每行数据存储到一个列表中
data_list = [float(line.strip()) for line in lines]# 编写1:每行19个数据的形式
formatted_data = [data_list[i:i + num_columns] for i in range(0, len(data_list), num_columns)]# 构建数据结构,按照内容和年份分组
content_data = {label: {year: value for year, value in zip(years, row_data)} for label, row_data inzip(labels, zip(*formatted_data))}# 打印结果
output_data = [["金额", "", "", "名称", "年份"]]for label, year_data in content_data.items():output_data.extend([year_data[year], "", "", label, year] for year in years)# 打印结果,每行最后一个元素后面加逗号
for row in output_data:# 对名称一列加上双引号row[1] = f'"{row[1]}"'row[2] = f'"{row[2]}"'row[3] = f'"{row[3]}"'row_str = ",".join(map(str, row))print(f"[{row_str}],")# 转换为 DataFrame
df = pd.DataFrame(content_data)# 将 DataFrame 写入 Excel 文件
excel_path = 'output/output_excel.xlsx'
df.to_excel(excel_path, index_label="年份")

config.json

{"file_path": "resource/result2.txt","num_columns": 7,"labels": ["居民消费价格指数","城市居民消费价格指数","农村居民消费价格指数","商品售价价格指数","农产品生产者价格指数","工业生产者出山价格指数","工业生产者购进价格指数"],"years": [1990,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022]
}

数据就写在Result2.txt

这篇关于动态可视化图表:“城市居民与农民生存大解析!消费指数狂飙,究竟是福是祸?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/612596

相关文章

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

MyBatis-Plus使用动态表名分表查询的实现

《MyBatis-Plus使用动态表名分表查询的实现》本文主要介绍了MyBatis-Plus使用动态表名分表查询,主要是动态修改表名的几种常见场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录1. 引入依赖2. myBATis-plus配置3. TenantContext 类:租户上下文

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

C++ 多态性实战之何时使用 virtual 和 override的问题解析

《C++多态性实战之何时使用virtual和override的问题解析》在面向对象编程中,多态是一个核心概念,很多开发者在遇到override编译错误时,不清楚是否需要将基类函数声明为virt... 目录C++ 多态性实战:何时使用 virtual 和 override?引言问题场景判断是否需要多态的三个关

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随

基于Nacos实现SpringBoot动态定时任务调度

《基于Nacos实现SpringBoot动态定时任务调度》本文主要介绍了在SpringBoot项目中使用SpringScheduling实现定时任务,并通过Nacos动态配置Cron表达式实现任务的动... 目录背景实现动态变更定时机制配置化 cron 表达式Spring schedule 调度规则追踪定时

Springboot主配置文件解析

《Springboot主配置文件解析》SpringBoot主配置文件application.yml支持多种核心值类型,包括字符串、数字、布尔值等,文章详细介绍了Profile环境配置和加载位置,本文... 目录Profile环境配置配置文件加载位置Springboot主配置文件 application.ym