在 Mac 版 QGIS 3.4.17 中工作
我需要将属性表(导入的 CSV 文件)中的一列数据传输到另一个属性表(ESG shapefile)。
过去我一直使用连接来导入数据。在这种情况下,一旦我进行了连接,该列就显示为空白(所有字段均为 NULL)。我在 Stack Exchange 上尝试了很多想法。
我的加入数据是“地址 ID”。在 CSV 文件中,该值为 Integer,但对于 ESG 文件,该值为 Integer64。为了解决这个问题,我在 ESG 文件中创建了另一列“地址 ID2”,确保它是整数,从而与 CSV 文件中的“地址 ID”相同。不管怎样,连接仍然不起作用,导入的数据为 NULL。
还有什么我可以做的吗?我不熟悉字段计算器或代码,因此如果您有任何想法,请提供分步信息。已经有5000多条了,我不能再全部写出来了。
在大多数情况下,当您加载 CSV 文件时,所有字段都将读取为文本。所以我认为您可以将 CSV 文件加载到项目中,计算 CSV 文件中的新字段,将原始值转换为 int。
将其放入现场计算器:
to_int(csvfieldnamehere)
然后就可以使用通过属性工具连接字段了。
我也有同样的问题。我有一个点形状文件,我想根据两个图层都有的 ID 图层将一列添加到属性中。
两个字段类型也相同,QString。
我不明白为什么我也在该列的所有单元格中写入NULL..
有人知道为什么会发生这种情况吗?