Osgeo.ogr没有正确获取csv字段名称

时间:2016-12-22 10:32:42

标签: python csv postgis ogr

Osgeo.ogr似乎无法正确获取csv文件的字段名称。 举个例子:

Identifian,C,254;CodeVoieRi,C,254;CodeInseeI,N,10,0
1;;13021
2;;13021
3;;13021

问题是ogr采取“,”和“;”作为分隔符,而“,”只是列名的一部分。

这是我使用的python代码:

dataSource = ogr.Open(file)
daLayer = dataSource.GetLayer(0)
layerDefinition = daLayer.GetLayerDefn()
for i in range(layerDefinition.GetFieldCount()):
     name = layerDefinition.GetFieldDefn(i).GetName()

是否可以指定ogr使用单个分隔符?

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议永远不要在字段名中使用逗号,因为在尝试解析文件时经常会产生冲突。使用下划线_将是更好的命名字段的方法。

如果您的目标是从此CSV文件创建shapefile,您可以查看此示例,了解如何使用特定的分隔符正确解析文件并将数据转换为shapefile。

https://pcjericks.github.io/py-gdalogr-cookbook/vector_layers.html#create-a-new-shapefile-and-add-data