【问题标题】:Empty value from CSV import (sqlalchemy) to Postgres numeric column appears blank从 CSV 导入 (sqlalchemy) 到 Postgres 数字列的空值显示为空白
【发布时间】:2018-09-08 22:04:00
【问题描述】:

我通过 sqlalchemy 将一个 csv 文件导入我的 postgres 数据库,使用带有列和属性的 create table 以及 copy-from 方法。

现在我遇到以下情况:我的 csv 文件中有空单元格。在数据库中(我通过 SQL Workbench 直观地访问)我看到有空单元格 - 列规范仍然是数字。但是,正如我到目前为止发现的那样,数字列不能有空/空白单元格,而是 NULL。

另一方面,我试图通过以下方式验证这一点:

SELECT COUNT(column_a)
FROM table_name
WHERE column_a IS NULL;

结果显示为 0;我从中推断出我出现的空单元格不是NULL。

我问的原因是:我想在我的表中找到所有“真实”的 0,并将它们替换为空/空白或 NULL(重要的是这里的一致性),因为我需要从数据库流式传输数据和将一个子集放入 panda.dataframe;不知道 panda 如何处理不同格式的缺失值。

谢谢。

【问题讨论】:

    标签: sql database pandas csv isnull


    【解决方案1】:

    我间接找到了上述问题的答案: - 空值在 Postgres 中被视为 NULL,但在 SQL Workbench 中您会看到空单元格 - Count(Column) 跳过 NULL,因此永远不会计算空单元格 (Stackoverflow: validate-if-a-column-has-a-null-value

    【讨论】:

    • 你试过COUNT(*)吗?
    • 我没有使用星号,因为表中有更多的列也有 NULL 值
    猜你喜欢
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-18
    • 2022-08-03
    相关资源
    最近更新 更多