2017-01-27 34 views
4

Я хочу прочитать файл формы ArcGIS файла и сбрасывать его в фреймворк данных pandas. В настоящее время я использую пакет dbf.Pandas: преобразовать таблицу dbf в dataframe

Я, видимо, смог загрузить файл dbf в виде таблицы, но не смог выяснить, как его разобрать и превратить в рамку данных pandas. Каков способ сделать это?

Это где я застрял:

import dbf 
thisTable = dbf.Table('C:\\Users\\myfolder\\project\\myfile.dbf') 
thisTable.open(mode='read-only') 

Python возвращает это заявление как выход, который я честно не знаю, что делать:

dbf.ver_2.Table('C:\\Users\\myfolder\\project\\myfile.dbf', status='read-only')


EDIT

Образец моего оригинала dbf:

FID Shape E    N 
0  Point 90089.518711 -201738.245555 
1  Point 93961.324059 -200676.766517 
2  Point 97836.321204 -199614.270439 
... ...  ...   ... 
+0

Можете вы разместите образец исходного файла .dbf? –

+0

@FabioLamanna Проверьте мои изменения. Благодарю. – FaCoffee

+1

@ CF84, вы можете прочитать [эту статью] (http://joelmccune.com/arcgis-to-pandas-data-frame/) – MaxU

ответ

6

Вы должны взглянуть на simpledbf:

In [2]: import pandas as pd 

In [3]: from simpledbf import Dbf5 

In [4]: dbf = Dbf5('test.dbf') 

In [5]: df = dbf.to_dataframe() 

Это работает для меня с небольшой образец файла .dbf. Надеюсь, это поможет.

+1

очень аккуратный ответ! – MaxU

+0

@FabioLamanna Почему поле 'FID' не читается в' df'? По сути, все, что я вижу, это просто поля «E» и «N». Как убедиться, что все поля * все прочитаны? – FaCoffee

+0

@ CF84, может быть, он считается индексом DataFrame? –