@@ -55,7 +55,7 @@ def to_json(path_or_buf, obj, orient=None, date_format='epoch',
5555 obj , orient = orient , date_format = date_format ,
5656 double_precision = double_precision , ensure_ascii = force_ascii ,
5757 date_unit = date_unit , default_handler = default_handler ,
58- index = index )._write ()
58+ index = index ).write ()
5959
6060 if lines :
6161 s = _convert_to_line_delimits (s )
@@ -95,15 +95,21 @@ def __init__(self, obj, orient, date_format, double_precision,
9595 def _format_axes (self ):
9696 raise AbstractMethodError (self )
9797
98- def _write (self ):
98+ def write (self ):
99+ return self ._write (self .obj , self .orient , self .double_precision ,
100+ self .ensure_ascii , self .date_unit ,
101+ self .date_format == 'iso' , self .default_handler )
102+
103+ def _write (self , obj , orient , double_precision , ensure_ascii ,
104+ date_unit , iso_dates , default_handler ):
99105 return dumps (
100- self . obj ,
101- orient = self . orient ,
102- double_precision = self . double_precision ,
103- ensure_ascii = self . ensure_ascii ,
104- date_unit = self . date_unit ,
105- iso_dates = self . date_format == 'iso' ,
106- default_handler = self . default_handler
106+ obj ,
107+ orient = orient ,
108+ double_precision = double_precision ,
109+ ensure_ascii = ensure_ascii ,
110+ date_unit = date_unit ,
111+ iso_dates = iso_dates ,
112+ default_handler = default_handler
107113 )
108114
109115
@@ -115,10 +121,14 @@ def _format_axes(self):
115121 raise ValueError ("Series index must be unique for orient="
116122 "'{orient}'" .format (orient = self .orient ))
117123
118- def _write (self ):
119- if not self .index and self .orient == 'split' :
120- self .obj = {"name" : self .obj .name , "data" : self .obj .values }
121- return super (SeriesWriter , self )._write ()
124+ def _write (self , obj , orient , double_precision , ensure_ascii ,
125+ date_unit , iso_dates , default_handler ):
126+ if not self .index and orient == 'split' :
127+ obj = {"name" : obj .name , "data" : obj .values }
128+ return super (SeriesWriter , self )._write (obj , orient ,
129+ double_precision ,
130+ ensure_ascii , date_unit ,
131+ iso_dates , default_handler )
122132
123133
124134class FrameWriter (Writer ):
@@ -135,11 +145,15 @@ def _format_axes(self):
135145 raise ValueError ("DataFrame columns must be unique for orient="
136146 "'{orient}'." .format (orient = self .orient ))
137147
138- def _write (self ):
139- if not self .index and self .orient == 'split' :
140- self .obj = self .obj .to_dict (orient = 'split' )
141- del self .obj ["index" ]
142- return super (FrameWriter , self )._write ()
148+ def _write (self , obj , orient , double_precision , ensure_ascii ,
149+ date_unit , iso_dates , default_handler ):
150+ if not self .index and orient == 'split' :
151+ obj = obj .to_dict (orient = 'split' )
152+ del obj ["index" ]
153+ return super (FrameWriter , self )._write (obj , orient ,
154+ double_precision ,
155+ ensure_ascii , date_unit ,
156+ iso_dates , default_handler )
143157
144158
145159class JSONTableWriter (FrameWriter ):
@@ -191,10 +205,15 @@ def __init__(self, obj, orient, date_format, double_precision,
191205 self .orient = 'records'
192206 self .index = index
193207
194- def _write (self ):
208+ def _write (self , obj , orient , double_precision , ensure_ascii ,
209+ date_unit , iso_dates , default_handler ):
195210 if not self .index :
196- self .obj = self .obj .drop ('index' , axis = 1 )
197- data = super (JSONTableWriter , self )._write ()
211+ obj = obj .drop ('index' , axis = 1 )
212+ data = super (JSONTableWriter , self )._write (obj , orient ,
213+ double_precision ,
214+ ensure_ascii , date_unit ,
215+ iso_dates ,
216+ default_handler )
198217 serialized = '{{"schema": {schema}, "data": {data}}}' .format (
199218 schema = dumps (self .schema ), data = data )
200219 return serialized
0 commit comments