在QGIS中将CSV图层属性值从文本更改为数字?


28

我读了一个CSV文件以链接到.shp文件。

所有只是数字的变量都以文本形式输入。

如何在QGIS中将文本变量更改为数字?

Answers:


37

我曾经有过同样的问题。答案是,您将文件与结尾csvt放在同一文件夹中。例如,您的文件名为xyzdata.csv,则添加文件xyzdata.csvt

例如,您可以使用编辑器进行编辑。在其中设置像这样的数据类型。“ Integer”,“ String”,“ Integer”,“ Integer”,“ String”,“ Real”

现在,Integer是第一列的变量,第二列的字符串,依此类推...确保文件的名称相同。

编辑:如果需要,也请参见此处:http : //underdark.wordpress.com/2011/03/07/how-to-specify-data-types-of-csv-columns-for-use-in-qgis/


非常感谢lot1,是不是所有CSV文件都将以文本形式读取?也许我想像得到了,但是不久前我刚开始使用QGIS时,我链接了一个CSV文件,数字就是数字。似乎该信息应该在用户手册中。(也许我错过了)
HealthMaps 2012年

是的,这对我来说也很奇怪。但是,如果只有几列,则此方法很容易执行。那么...它真的对您有用吗?
Shepherdjo

是的,它运作完美!注意在Excel中设置CSVT文件;我使用SAS或R来创建我要链接的文件,因此将CSVT文件与C​​SV文件一起制作并没有太大的麻烦。似乎这需要解决。我使用的另一个GIS在CSV列中看到数字,它以数字形式读取它们。
HealthMaps

我找到了一个MMQGIS插件,可以将列从文本更改为float或将float更改为text。仅适用于形状文件,不适用于链接文件或导入的csv文件。参见michaelminn.com/linux/mmqgis
HealthMaps

很高兴听到。并为插件提示。我也将不胜感激,如果您接受我的回答,会吗?
Shepherdjo

15

无需弄乱输入文件,而是尝试使所有图片完美,只需使用字段计算器将文本转换为数字/实数即可。请参阅以下示例:

现场计算器

字段计算器到数字

字段计算器转换为实数

功能后的属性表


当我将CSV文件导入时,无法对其进行编辑。编辑按钮显示为灰色。如何获得可编辑的内容?
HealthMaps 2012年

我不确定您可以通过qGIS编辑CSV。我想我误解了您的问题,因为您已经将csv数据导入了shapefile中
nagytech

2
我将.shp链接到一个csv文件,该文件具有数字列,但实际上是文本。显然,无论是对CSV文件本身还是链接到SHP文件的文件,都无法进行任何编辑。因此,我保存了链接文件,然后重新加载它,并能够按照您的建议将文本数字文件编辑为整数格式。如果您有很多需要转换的文本列,然后使用字段计算器方法(如果没有太多),则似乎最好使用.csvt文件。能够自己编辑CSV文件而不将其链接到其他文件将很有用。
HealthMaps 2012年

11

而不是使用“添加矢量”层加载.csv,请使用“分隔文本”层工具。它将尝试为每一列检测最合适的数据类型。

有关更多详细信息,请参见QGIS用户指南

在此处输入图片说明


即时修复!谢谢
user94812

5

MMQGis导致了此问题,事实证明,它可以解决此问题。

加入Shapefile和CSV数据后,使用MMQGis的Modify> Text to Float工具。

和往常一样,它留下了一些垃圾中间shapefile,但是还有什么新内容


1

QGIS 3.x中,常见的错误来源是选择错误的小数点分隔符。将CSV加载到QGIS之前,请选中或取消选中“小数点分隔符是逗号”框:

在此处输入图片说明


-2

如果要管理大型数据集并且在进行现场计算器(无循环)或在文本编辑器中进行操作显然很费时,则是另一种选择:-将数据另存为CSV + XY +变量以与我们的polugone shapefile结合使用-上传带有插件的CSV文件(导入csv),然后另存为shapefile(点)-然后关闭q gis-返回带有shapefile点的文件夹,重复对应的dbf表/重命名-打开Qgis-上传新的dbf并加入shapefile(多边形功能)

一只石头,两只鸽子:您可能拥有1)一个shapefile点,其中包含所有数据和所有表示的可能性2)和独立的shapefile,并且已将dbf表连接(可编辑!)并链接到polygone以进行专题制图

这有点不礼貌,但是很简单...

bs_epidemio


3
尽管此答案讨论了如何将.csv文件转换为可编辑格式,但并未解决最初的问题,即如何将属性值从文本转换为数字。尽管有质量,针对性强的问题很重要,但同样重要的是,这些问题的答案应尽可能地具有针对性和针对性。
获得空间
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.