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

地址

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

图片

源代码

main.py

cpp 复制代码
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 in
                zip(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

cpp 复制代码
{
  "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

相关推荐
兵慌码乱10 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵11 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio15 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636716 小时前
使用 Python 从零创建 Word 文档
python
Csvn21 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽1 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817531 天前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱2 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei2 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python