@@ -55,7 +55,7 @@ def to_json(path_or_buf, obj, orient=None, date_format='epoch',
55
55
obj , orient = orient , date_format = date_format ,
56
56
double_precision = double_precision , ensure_ascii = force_ascii ,
57
57
date_unit = date_unit , default_handler = default_handler ,
58
- index = index ).write ()
58
+ index = index )._write ()
59
59
60
60
if lines :
61
61
s = _convert_to_line_delimits (s )
@@ -95,7 +95,7 @@ def __init__(self, obj, orient, date_format, double_precision,
95
95
def _format_axes (self ):
96
96
raise AbstractMethodError (self )
97
97
98
- def write (self ):
98
+ def _write (self ):
99
99
return dumps (
100
100
self .obj ,
101
101
orient = self .orient ,
@@ -115,18 +115,10 @@ def _format_axes(self):
115
115
raise ValueError ("Series index must be unique for orient="
116
116
"'{orient}'" .format (orient = self .orient ))
117
117
118
- def write (self ):
118
+ def _write (self ):
119
119
if not self .index and self .orient == 'split' :
120
120
self .obj = {"name" : self .obj .name , "data" : self .obj .values }
121
- return dumps (
122
- self .obj ,
123
- orient = self .orient ,
124
- double_precision = self .double_precision ,
125
- ensure_ascii = self .ensure_ascii ,
126
- date_unit = self .date_unit ,
127
- iso_dates = self .date_format == 'iso' ,
128
- default_handler = self .default_handler
129
- )
121
+ return super (SeriesWriter , self )._write ()
130
122
131
123
132
124
class FrameWriter (Writer ):
@@ -143,19 +135,11 @@ def _format_axes(self):
143
135
raise ValueError ("DataFrame columns must be unique for orient="
144
136
"'{orient}'." .format (orient = self .orient ))
145
137
146
- def write (self ):
138
+ def _write (self ):
147
139
if not self .index and self .orient == 'split' :
148
140
self .obj = self .obj .to_dict (orient = 'split' )
149
141
del self .obj ["index" ]
150
- return dumps (
151
- self .obj ,
152
- orient = self .orient ,
153
- double_precision = self .double_precision ,
154
- ensure_ascii = self .ensure_ascii ,
155
- date_unit = self .date_unit ,
156
- iso_dates = self .date_format == 'iso' ,
157
- default_handler = self .default_handler
158
- )
142
+ return super (FrameWriter , self )._write ()
159
143
160
144
161
145
class JSONTableWriter (FrameWriter ):
@@ -205,21 +189,14 @@ def __init__(self, obj, orient, date_format, double_precision,
205
189
self .obj = obj .reset_index ()
206
190
self .date_format = 'iso'
207
191
self .orient = 'records'
192
+ self .index = index
208
193
209
- def write (self ):
194
+ def _write (self ):
210
195
if not self .index :
211
196
self .obj = self .obj .drop ('index' , axis = 1 )
212
- data = dumps (
213
- self .obj ,
214
- orient = self .orient ,
215
- double_precision = self .double_precision ,
216
- ensure_ascii = self .ensure_ascii ,
217
- date_unit = self .date_unit ,
218
- iso_dates = self .date_format == 'iso' ,
219
- default_handler = self .default_handler
220
- )
197
+ data = super (JSONTableWriter , self )._write ()
221
198
serialized = '{{"schema": {schema}, "data": {data}}}' .format (
222
- schema = dumps (self .schema ), data = data )
199
+ schema = dumps (self .schema ), data = data )
223
200
return serialized
224
201
225
202
0 commit comments