Unverified Commit 7b1d55a3 authored by Jin Hyuk Chang's avatar Jin Hyuk Chang Committed by GitHub

Support unicode in file_system_neo4j_csv_loader (#203)

* Support unicode in file_system_neo4j_csv_loader

* increment version

* Update

* Update

* Let Python3 use csv not unicodecsv
parent 225c7408
import csv import six
import logging import logging
import os import os
import shutil import shutil
...@@ -14,6 +14,12 @@ from databuilder.models.neo4j_csv_serde import NODE_LABEL, \ ...@@ -14,6 +14,12 @@ from databuilder.models.neo4j_csv_serde import NODE_LABEL, \
from databuilder.models.neo4j_csv_serde import Neo4jCsvSerializable # noqa: F401 from databuilder.models.neo4j_csv_serde import Neo4jCsvSerializable # noqa: F401
from databuilder.utils.closer import Closer from databuilder.utils.closer import Closer
if six.PY2:
import unicodecsv as csv
else:
import csv
LOGGER = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__)
...@@ -168,8 +174,13 @@ class FsNeo4jCSVLoader(Loader): ...@@ -168,8 +174,13 @@ class FsNeo4jCSVLoader(Loader):
file_out.close() file_out.close()
self._closer.register(file_out_close) self._closer.register(file_out_close)
if six.PY2:
writer = csv.DictWriter(file_out, fieldnames=csv_record_dict.keys(),
quoting=csv.QUOTE_NONNUMERIC, encoding='utf-8')
else:
writer = csv.DictWriter(file_out, fieldnames=csv_record_dict.keys(), writer = csv.DictWriter(file_out, fieldnames=csv_record_dict.keys(),
quoting=csv.QUOTE_NONNUMERIC) quoting=csv.QUOTE_NONNUMERIC)
writer.writeheader() writer.writeheader()
file_mapping[key] = writer file_mapping[key] = writer
......
...@@ -54,6 +54,7 @@ pytz==2018.4 ...@@ -54,6 +54,7 @@ pytz==2018.4
antlr4-python2-runtime==4.7.1 antlr4-python2-runtime==4.7.1
statsd==3.2.1 statsd==3.2.1
retrying==1.3.3 retrying==1.3.3
unicodecsv==0.14.1,<1.0
......
...@@ -2,7 +2,7 @@ import os ...@@ -2,7 +2,7 @@ import os
from setuptools import setup, find_packages from setuptools import setup, find_packages
__version__ = '2.0.2' __version__ = '2.0.3'
requirements_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'requirements.txt') requirements_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'requirements.txt')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment