Skip to content

Commit c9c96a9

Browse files
committed
BUG: Fix default encoding for CSVFormatter.save
1 parent 330b8c1 commit c9c96a9

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

pandas/io/formats/format.py

+12-4
Original file line numberDiff line numberDiff line change
@@ -1573,12 +1573,20 @@ def __init__(self, obj, path_or_buf=None, sep=",", na_rep='',
15731573

15741574
def save(self):
15751575
# create the writer & save
1576+
if self.encoding is None:
1577+
if compat.PY2:
1578+
encoding = 'ascii'
1579+
else:
1580+
encoding = 'utf-8'
1581+
else:
1582+
encoding = self.encoding
1583+
15761584
if hasattr(self.path_or_buf, 'write'):
15771585
f = self.path_or_buf
15781586
close = False
15791587
else:
15801588
f, handles = _get_handle(self.path_or_buf, self.mode,
1581-
encoding=self.encoding,
1589+
encoding=encoding,
15821590
compression=self.compression)
15831591
close = True
15841592

@@ -1588,11 +1596,11 @@ def save(self):
15881596
doublequote=self.doublequote,
15891597
escapechar=self.escapechar,
15901598
quotechar=self.quotechar)
1591-
if self.encoding is not None:
1599+
if encoding is 'ascii':
1600+
self.writer = csv.writer(f, **writer_kwargs)
1601+
else:
15921602
writer_kwargs['encoding'] = self.encoding
15931603
self.writer = UnicodeWriter(f, **writer_kwargs)
1594-
else:
1595-
self.writer = csv.writer(f, **writer_kwargs)
15961604

15971605
self._save()
15981606

0 commit comments

Comments
 (0)