Solución:
Deberías echar un vistazo a 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()
Esto me funciona con un pequeño archivo .dbf de muestra. Espero que ayude.
Como dijo mmann1123, puede usar geopandas para leer su archivo dbf. El Geopandas lo lee a pesar de que puede tener o no datos geoespaciales.
Suponiendo que sus datos son solo datos tabulares (sin coordenadas geográficas), y desea leerlos y convertirlos a un formato que la biblioteca de pandas pueda leer, sugeriría usar geopandas.
Aquí hay un ejemplo:
import geopandas as gpd
My_file_path_name = r'C:Users...file_dbf.dbf'
Table = gpd.read_file(Filename)
import pandas as pd
Pandas_Table = pd.DataFrame(Table)
Keys = list(Table.keys())
Keys.remove('ID_1','ID_2') # removing ID attributes from the Table keys list
Keys.remove('Date') # eventually you have date attribute which you wanna preserve.
DS = pd.melt(Pandas_Table,
id_vars =['ID_1','ID_2'], # accepts multiple filter/ID values
var_name="class_fito", # Name of the variable which will aggregate all columns from the Table into the Dataframe
value_name="biomass (mg.L-1)" , # name of the variable in Dataframe
value_vars= Keys # parameter that defines which attributes from the Table are a summary of the DataFrame)
# checking your DataFrame:
type(DS) # should appear something like: pandas.core.frame.DataFrame
Es posible que desee mirar geopandas. Le permitirá realizar las operaciones GIS más importantes.
http://geopandas.org/data_structures.html
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)