ENH: support datetime in to_file (#728)

This commit is contained in:
Henry Walshaw authored and Joris Van den Bossche committed 2019-04-18 16:42:31 +02:00
1 parent 29e18503ec
commit 6b13a2e4d5
2 files changed
+21

No files matched your search

+3
View File
@@ -140,6 +140,9 @@ def infer_schema(df):
def convert_type(column, in_type):
if in_type == object:
return 'str'
if in_type.name.startswith('datetime64'):
# numpy datetime type regardless of frequency
return 'datetime'
out_type = type(np.zeros(1, in_type).item()).__name__
if out_type == 'long':
out_type = 'int'
+18
View File
@@ -1,8 +1,10 @@
from __future__ import absolute_import
from collections import OrderedDict
import datetime
from distutils.version import LooseVersion
import os
import sys
import numpy as np
@@ -97,6 +99,22 @@ def test_to_file_bool(tmpdir, driver, ext):
assert_geodataframe_equal(result, df, check_column_type=False)
@pytest.mark.skipif(
(sys.version_info < (3, 0)) and sys.platform.startswith('win'),
reason="GPKG tests failing on AppVeyor for Python 2.7")
def test_to_file_datetime(tmpdir):
"""Test writing a data file with the datetime column type"""
tempfilename = os.path.join(str(tmpdir), 'test_datetime.gpkg')
point = Point(0, 0)
now = datetime.datetime.now()
df = GeoDataFrame(
{'a': [1, 2], 'b': [now, now]},
geometry=[point, point], crs={})
df.to_file(tempfilename, driver='GPKG')
df_read = read_file(tempfilename)
assert_geoseries_equal(df.geometry, df_read.geometry)
@pytest.mark.parametrize(
'ext, driver', [('shp', 'ESRI Shapefile'), ('geojson', 'GeoJSON')])
def test_to_file_with_point_z(tmpdir, ext, driver):