2016-12-22 13 views
0

Osgeo.ogrがcsvファイルのフィールド名を正しく取得できないようです。 この例を見てみましょう: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を指定することは可能ですか?

ありがとうございます!

答えて

0

フィールド名にコンマを使用しないことをお勧めします。これは、ファイルを解析するときにコンフリクトが頻繁に発生するためです。代わりに_アンダースコアを使用すると、フィールドに名前を付けるより良い方法になります。

このCSVファイルからシェイプファイルを作成する場合は、この例を参照して、特定の区切り文字を使用してファイルを正しく解析し、データをシェイプファイルに変換する方法を確認してください。

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

+0

目的は、フィールド名をDBに保存することでした。私は基本的なPython csvリーダーを試してみるでしょう、それはパラメータとしてデリミタを取ることができるようです。 – Jbertrand

関連する問題