From 6e7d283fef7c3466ebb9a10a1a3dfe2e35cf5769 Mon Sep 17 00:00:00 2001 From: Marcelo Tournier <15373278+marcelotournier@users.noreply.github.com> Date: Thu, 15 Apr 2021 09:02:13 -0700 Subject: [PATCH 1/2] Update readdbc.py --- pysus/utilities/readdbc.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pysus/utilities/readdbc.py b/pysus/utilities/readdbc.py index c0023d0f..eed132ff 100644 --- a/pysus/utilities/readdbc.py +++ b/pysus/utilities/readdbc.py @@ -5,9 +5,7 @@ """ import os from tempfile import NamedTemporaryFile -from io import BytesIO import pandas as pd -import geopandas as gpd from dbfread import DBF try: @@ -16,21 +14,23 @@ from _readdbc import ffi, lib -def read_dbc(filename, encoding='utf-8', raw=False): +def read_dbc(filename, encoding='utf-8', raw=False, tmp_dir='.', delete_tmp=True): """ Opens a DATASUS .dbc file and return its contents as a pandas Dataframe. :param filename: .dbc filename :param encoding: encoding of the data :param raw: Skip type conversion. Set it to True to avoid type conversion errors + :param tmp_dir: Temp directory where tmp files are going to - useful if using ramdisks to reduce IO. + :param delete_tmp: Delete temporary files after function execution :return: Pandas Dataframe. """ if isinstance(filename, str): filename = filename.encode() - with NamedTemporaryFile(delete=False) as tf: + with NamedTemporaryFile(dir=tmp_dir, delete=delete_tmp) as tf: dbc2dbf(filename, tf.name.encode()) dbf = DBF(tf.name, encoding=encoding, raw=raw) - df = gpd.GeoDataFrame(list(dbf)) + df = pd.DataFrame(list(dbf)) os.unlink(tf.name) return df From 82f2c9ce3dfb36373c4a7e3f5b1d63fe1d06759a Mon Sep 17 00:00:00 2001 From: Marcelo Tournier <15373278+marcelotournier@users.noreply.github.com> Date: Thu, 15 Apr 2021 09:12:26 -0700 Subject: [PATCH 2/2] Create __init__.py --- pysus/utilities/__init__.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 pysus/utilities/__init__.py diff --git a/pysus/utilities/__init__.py b/pysus/utilities/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/pysus/utilities/__init__.py @@ -0,0 +1 @@ +