QGIS 将 CSV 中的数据连接到 ESG 文件中显示 NULL

问题描述 投票:0回答:2

在 Mac 版 QGIS 3.4.17 中工作

我需要将属性表(导入的 CSV 文件)中的一列数据传输到另一个属性表(ESG shapefile)。

过去我一直使用连接来导入数据。在这种情况下,一旦我进行了连接,该列就显示为空白(所有字段均为 NULL)。我在 Stack Exchange 上尝试了很多想法。

我的加入数据是“地址 ID”。在 CSV 文件中,该值为 Integer,但对于 ESG 文件,该值为 Integer64。为了解决这个问题,我在 ESG 文件中创建了另一列“地址 ID2”,确保它是整数,从而与 CSV 文件中的“地址 ID”相同。不管怎样,连接仍然不起作用,导入的数据为 NULL。

还有什么我可以做的吗?我不熟悉字段计算器或代码,因此如果您有任何想法,请提供分步信息。已经有5000多条了,我不能再全部写出来了。

csv join null qgis
2个回答
0
投票

在大多数情况下,当您加载 CSV 文件时,所有字段都将读取为文本。所以我认为您可以将 CSV 文件加载到项目中,计算 CSV 文件中的新字段,将原始值转换为 int。

将其放入现场计算器:

to_int(csvfieldnamehere)

然后就可以使用通过属性工具连接字段了。


0
投票

我也有同样的问题。我有一个点形状文件,我想根据两个图层都有的 ID 图层将一列添加到属性中。

两个字段类型也相同,QString。

我不明白为什么我也在该列的所有单元格中写入NULL..

有人知道为什么会发生这种情况吗?

© www.soinside.com 2019 - 2024. All rights reserved.