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

Excel新冠死亡数据导入PGAdmin(PostgreSQL)的字段类型及操作咨询

Our World in Data新冠死亡数据PostgreSQL导入方案

一、表头对应PostgreSQL数据类型

以下为OWID公开新冠死亡数据集常用表头及适配的PG数据类型,如果你自己的Excel有字段删减可对应调整:

  • iso_code:VARCHAR(10),国家/地区ISO标准编码
  • continent:VARCHAR(20),大洲名称
  • location:VARCHAR(50),国家/地区全称
  • date:DATE,统计日期,原生日期类型适配度最高
  • 所有数值类统计字段(累计确诊、新增死亡、各类比率、人口、经济指标等):统一用NUMERIC,避免整数/浮点类型出现的精度丢失、空值适配问题
  • 文本类枚举字段(如检测单位tests_units):VARCHAR(20)

注意:如果你的Excel里空值填了NA、Null这类字符,导入前先统一清空为空白单元格,避免数值类型转换报错。

二、创建适配表结构

直接执行以下SQL即可生成对应表:

CREATE TABLE owid_covid_deaths (
    iso_code VARCHAR(10),
    continent VARCHAR(20),
    location VARCHAR(50),
    date DATE,
    total_cases NUMERIC,
    new_cases NUMERIC,
    new_cases_smoothed NUMERIC,
    total_deaths NUMERIC,
    new_deaths NUMERIC,
    new_deaths_smoothed NUMERIC,
    total_cases_per_million NUMERIC,
    new_cases_per_million NUMERIC,
    new_cases_smoothed_per_million NUMERIC,
    total_deaths_per_million NUMERIC,
    new_deaths_per_million NUMERIC,
    new_deaths_smoothed_per_million NUMERIC,
    reproduction_rate NUMERIC,
    icu_patients NUMERIC,
    icu_patients_per_million NUMERIC,
    hosp_patients NUMERIC,
    hosp_patients_per_million NUMERIC,
    weekly_icu_admissions NUMERIC,
    weekly_icu_admissions_per_million NUMERIC,
    weekly_hosp_admissions NUMERIC,
    weekly_hosp_admissions_per_million NUMERIC,
    new_tests NUMERIC,
    total_tests NUMERIC,
    total_tests_per_thousand NUMERIC,
    new_tests_per_thousand NUMERIC,
    new_tests_smoothed NUMERIC,
    new_tests_smoothed_per_thousand NUMERIC,
    positive_rate NUMERIC,
    tests_per_case NUMERIC,
    tests_units VARCHAR(20),
    total_vaccinations NUMERIC,
    people_vaccinated NUMERIC,
    people_fully_vaccinated NUMERIC,
    total_boosters NUMERIC,
    new_vaccinations NUMERIC,
    new_vaccinations_smoothed NUMERIC,
    total_vaccinations_per_hundred NUMERIC,
    people_vaccinated_per_hundred NUMERIC,
    people_fully_vaccinated_per_hundred NUMERIC,
    total_boosters_per_hundred NUMERIC,
    new_vaccinations_smoothed_per_million NUMERIC,
    new_people_vaccinated_smoothed NUMERIC,
    new_people_vaccinated_smoothed_per_hundred NUMERIC,
    stringency_index NUMERIC,
    population NUMERIC,
    population_density NUMERIC,
    median_age NUMERIC,
    aged_65_older NUMERIC,
    aged_70_older NUMERIC,
    gdp_per_capita NUMERIC,
    extreme_poverty NUMERIC,
    cardiovasc_death_rate NUMERIC,
    diabetes_prevalence NUMERIC,
    female_smokers NUMERIC,
    male_smokers NUMERIC,
    handwashing_facilities NUMERIC,
    hospital_beds_per_thousand NUMERIC,
    life_expectancy NUMERIC,
    human_development_index NUMERIC,
    excess_mortality_cumulative_absolute NUMERIC,
    excess_mortality_cumulative NUMERIC,
    excess_mortality NUMERIC,
    excess_mortality_cumulative_per_million NUMERIC
);

-- 可选:给常用查询字段加索引提升速度
CREATE INDEX idx_owid_covid_location ON owid_covid_deaths(location);
CREATE INDEX idx_owid_covid_date ON owid_covid_deaths(date);

三、Excel到PostgreSQL的导入操作

方法1:PGAdmin图形化导入(适合小数据量、新手)

  • 先处理Excel文件:确认第一行是表头,日期格式统一为YYYY-MM-DD,空值单元格清空,将文件另存为CSV(逗号分隔)格式,编码选择UTF-8避免乱码
  • 打开PGAdmin连接到实例,找到刚才创建的owid_covid_deaths表,右键选择「Import/Export Data」
  • 导入配置:选择「Import」,文件路径选刚才导出的CSV,编码选UTF8,格式选csv,勾选「Header」(表示第一行是表头),分隔符选逗号,,空值字符串填""
  • 切换到Columns选项卡确认CSV列和表列一一对应,点击确认即可完成导入

方法2:命令导入(适合大数据量,速度更快)

  • 同样先把Excel转成UTF-8编码的CSV文件
  • 本地部署的PostgreSQL直接在查询工具执行以下命令,替换对应文件路径即可:
COPY owid_covid_deaths
FROM 'C:/your_file_path/owid-covid-data.csv' -- Windows路径用正斜杠,Mac/Linux填对应路径
DELIMITER ','
CSV HEADER
ENCODING 'UTF8';
  • 连接远程PostgreSQL实例的话,用psql执行\copy命令,不需要服务端文件权限:
\copy owid_covid_deaths FROM '/local_file_path/owid-covid-data.csv' DELIMITER ',' CSV HEADER ENCODING 'UTF8';

如果导入时报格式错误,优先检查Excel里的特殊字符、多余逗号,也可以导出CSV时用制表符分隔,把命令里的DELIMITER ','改成DELIMITER E'\t'即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:09:02