mirror of
https://github.com/wassname/geopandas.git
synced 2026-10-03 12:31:14 +08:00
ENH: support datetime in to_file (#728)
This commit is contained in:
1 parent
29e18503ec
commit
6b13a2e4d5
2 files changed
+21
No files matched your search
@@ -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'
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in new issue
Block a user