如何将fossil-fuel-input.csv全量数据转换为目标CSV布局
化石燃料数据格式转换解决方案
你要实现的是宽格式数据表转长格式数据表的需求,两种常用工具的操作方法如下:
Excel 操作方法
用Excel自带的Power Query功能即可快速完成,无需编写复杂公式:
- 打开Excel,点击顶部「数据」选项卡,选择「获取数据 > 自文件 > 从文本/CSV」,导入你的fossil-fuel-input.csv文件
- 数据加载后点击「转换数据」进入Power Query编辑器
- 按住Ctrl选中所有不需要转换的固定属性列(比如国家名称、燃料类型等),右键点击选择「逆透视其他列」
- 此时会自动生成两列新字段:「属性」对应原表的年份列名,「值」对应对应年份的化石燃料数据,你可以根据需要重命名这两列
- 点击「关闭并上载」,将转换后的数据导出为CSV文件即可
Python 操作方法
使用pandas库的melt方法可以高效完成转换,适合处理大体积数据集:
- 首先确保你已经安装pandas库,未安装可执行命令:
pip install pandas - 编写如下代码运行即可:
import pandas as pd # 读取原始输入文件 df_input = pd.read_csv("fossil-fuel-input.csv") # 宽表转长表,id_vars参数填写你原始表中不需要转置的固定列名,可根据实际情况调整 df_output = df_input.melt( id_vars = ["国家", "燃料类型"], var_name = "年份", value_name = "化石燃料利用数值" ) # 导出转换后的文件,encoding设置为utf-8-sig避免中文乱码 df_output.to_csv("fossil-fuel-output.csv", index=False, encoding="utf-8-sig")
注意:id_vars中的固定列名需要和你原始CSV文件的列名完全匹配,如果原始列名是英文的替换成对应英文即可。
内容的提问来源于stack exchange,提问作者SySu
相关产品推荐
相关产品推荐

