You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何导入Eurostat提供的TSV格式环境废水数据集?

导入Eurostat TSV数据集的方法

Eurostat的这份TSV文件结构特殊:首列包含5个用逗号分隔的维度字段(freq, ww_gtd, substance, unit, geo),后续列是年份,值中:代表缺失数据,e代表估计值。以下是几种主流工具的导入及清洗方法:

1. Python(Pandas)

import pandas as pd

# 读取TSV文件,指定制表符为分隔符
df = pd.read_csv('env_ww_genp.tsv', sep='\t', header=0)

# 拆分首列的维度字段
df[['freq', 'ww_gtd', 'substance', 'unit', 'geo']] = df['freq,ww_gtd,substance,unit,geo\\TIME_PERIOD'].str.split(',', expand=True)

# 删除原始合并列
df = df.drop('freq,ww_gtd,substance,unit,geo\\TIME_PERIOD', axis=1)

# 清洗数值:移除估计标记"e",将缺失值":"转为NaN并转为数值类型
year_columns = df.columns[:-5]
df[year_columns] = df[year_columns].apply(lambda x: x.str.replace(' e', '').astype(float, errors='coerce'))

# 可选:转为长格式(年份作为单独列)
df_long = df.melt(id_vars=['freq', 'ww_gtd', 'substance', 'unit', 'geo'], var_name='year', value_name='value')

2. R语言

# 读取TSV文件
df <- read.delim("env_ww_genp.tsv", sep = "\t", header = TRUE, stringsAsFactors = FALSE)

# 拆分首列的维度字段
dimensions <- strsplit(df$freq.ww_gtd.substance.unit.geo.TIME_PERIOD, ",")
df <- cbind(do.call(rbind, dimensions), df[, -1])
colnames(df)[1:5] <- c("freq", "ww_gtd", "substance", "unit", "geo")

# 清洗数值:移除"e",将":"转为NA并转为数值类型
year_cols <- colnames(df)[6:ncol(df)]
df[year_cols] <- lapply(df[year_cols], function(x) {
  x <- gsub(" e", "", x)
  x[x == ":"] <- NA
  as.numeric(x)
})

# 可选:转为长格式
library(tidyr)
df_long <- pivot_longer(df, cols = year_cols, names_to = "year", values_to = "value")

3. Excel

  1. 直接打开TSV文件,Excel会自动识别制表符分隔列
  2. 选中首列,点击「数据」选项卡→「分列」,选择「分隔符号」→「逗号」完成维度字段拆分
  3. 使用「查找和替换」将所有:替换为空,将 e替换为空
  4. 选中年份列,设置单元格格式为「数值」

内容的提问来源于stack exchange,提问作者TranDzung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 03:17:41