如何强制ArcGIS识别CSV文件中的文本字段?


11

ArcGIS表加载中的数据类型检测有关

我有一个包含数字和文本字段混合的CSV文件:

ID,Txt,Int,Dbl
12345,abc,45,56.78
12346,9,65,23.12
12347,10,66,23.13

根据此Esri文章,如果前8行包含文本值,则该字段将被分类为文本,但是我发现第二个字段被分类为Long。这意味着将省略值“ abc”:

在此处输入图片说明

我如何强制ArcGIS将其识别为文本字段,同时将数据保持为CSV格式?

一种解决方法是创建地理数据库表,将字段定义为文本,然后加载数据,但是我希望将表保留为CSV(这是另一个过程的输出)。

谢谢


2
这是记录的完整规格:msdn.microsoft.com/zh-cn/library/windows/desktop / ...有趣的是,它并没有完全为我服务...
Mahdi

Answers:


18

请参阅添加ASCII或文本文件表的帮助主题中的“覆盖文本文件的格式设置”部分:

您可以使用schema.ini文件覆盖定界文本文件在ArcGIS中的显示方式。当您要使用schema.ini文件覆盖默认行为时,ArcGIS会误解字段类型。下面的示例演示如何对名为PLOTS的字段执行此操作,该字段应显示为Text类型,但被解释为Double类型。

[Trees.CSV]
Col14=PLOTS Text

请注意,如果不存在schema.ini文件,则可能需要创建一个schema.ini文件,并且需要覆盖定界文本文件在ArcGIS中的显示方式。有关schema.ini文件的更多信息,请在Microsoft MSDN网站上搜索schema.ini 。


2
谢谢你-它可以解决问题。但是,ArcGIS自动扫描前8行似乎存在问题。
斯蒂芬·利德

4
我必须添加“ MaxScanRows = 0”,因为“ ColX = name Text”这件事似乎无法单独工作100%。
斯蒂芬·利德

有人在Linux上使用arcpy尝试过吗?我猜想这只能在Windows上使用,因为schema.ini都与Micrsoft ODBC组件捆绑在一起。
柯蒂斯价格
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.