@@ -31,11 +31,10 @@ def iterparse(request):
31
31
return request .param
32
32
33
33
34
- def read_xml_iterparse (data , ** kwargs ):
35
- with tm .ensure_clean () as path :
36
- with open (path , "w" , encoding = "utf-8" ) as f :
37
- f .write (data )
38
- return read_xml (path , ** kwargs )
34
+ def read_xml_iterparse (data , temp_file , ** kwargs ):
35
+ with open (temp_file , "w" , encoding = "utf-8" ) as f :
36
+ f .write (data )
37
+ return read_xml (temp_file , ** kwargs )
39
38
40
39
41
40
xml_types = """\
@@ -84,13 +83,14 @@ def read_xml_iterparse(data, **kwargs):
84
83
# DTYPE
85
84
86
85
87
- def test_dtype_single_str (parser ):
86
+ def test_dtype_single_str (parser , temp_file ):
88
87
df_result = read_xml (StringIO (xml_types ), dtype = {"degrees" : "str" }, parser = parser )
89
88
df_iter = read_xml_iterparse (
90
89
xml_types ,
91
90
parser = parser ,
92
91
dtype = {"degrees" : "str" },
93
92
iterparse = {"row" : ["shape" , "degrees" , "sides" ]},
93
+ temp_file = temp_file ,
94
94
)
95
95
96
96
df_expected = DataFrame (
@@ -105,13 +105,14 @@ def test_dtype_single_str(parser):
105
105
tm .assert_frame_equal (df_iter , df_expected )
106
106
107
107
108
- def test_dtypes_all_str (parser ):
108
+ def test_dtypes_all_str (parser , temp_file ):
109
109
df_result = read_xml (StringIO (xml_dates ), dtype = "string" , parser = parser )
110
110
df_iter = read_xml_iterparse (
111
111
xml_dates ,
112
112
parser = parser ,
113
113
dtype = "string" ,
114
114
iterparse = {"row" : ["shape" , "degrees" , "sides" , "date" ]},
115
+ temp_file = temp_file ,
115
116
)
116
117
117
118
df_expected = DataFrame (
@@ -128,7 +129,7 @@ def test_dtypes_all_str(parser):
128
129
tm .assert_frame_equal (df_iter , df_expected )
129
130
130
131
131
- def test_dtypes_with_names (parser ):
132
+ def test_dtypes_with_names (parser , temp_file ):
132
133
df_result = read_xml (
133
134
StringIO (xml_dates ),
134
135
names = ["Col1" , "Col2" , "Col3" , "Col4" ],
@@ -141,6 +142,7 @@ def test_dtypes_with_names(parser):
141
142
names = ["Col1" , "Col2" , "Col3" , "Col4" ],
142
143
dtype = {"Col2" : "string" , "Col3" : "Int64" , "Col4" : "datetime64[ns]" },
143
144
iterparse = {"row" : ["shape" , "degrees" , "sides" , "date" ]},
145
+ temp_file = temp_file ,
144
146
)
145
147
146
148
df_expected = DataFrame (
@@ -158,13 +160,14 @@ def test_dtypes_with_names(parser):
158
160
tm .assert_frame_equal (df_iter , df_expected )
159
161
160
162
161
- def test_dtype_nullable_int (parser ):
163
+ def test_dtype_nullable_int (parser , temp_file ):
162
164
df_result = read_xml (StringIO (xml_types ), dtype = {"sides" : "Int64" }, parser = parser )
163
165
df_iter = read_xml_iterparse (
164
166
xml_types ,
165
167
parser = parser ,
166
168
dtype = {"sides" : "Int64" },
167
169
iterparse = {"row" : ["shape" , "degrees" , "sides" ]},
170
+ temp_file = temp_file ,
168
171
)
169
172
170
173
df_expected = DataFrame (
@@ -179,13 +182,14 @@ def test_dtype_nullable_int(parser):
179
182
tm .assert_frame_equal (df_iter , df_expected )
180
183
181
184
182
- def test_dtype_float (parser ):
185
+ def test_dtype_float (parser , temp_file ):
183
186
df_result = read_xml (StringIO (xml_types ), dtype = {"degrees" : "float" }, parser = parser )
184
187
df_iter = read_xml_iterparse (
185
188
xml_types ,
186
189
parser = parser ,
187
190
dtype = {"degrees" : "float" },
188
191
iterparse = {"row" : ["shape" , "degrees" , "sides" ]},
192
+ temp_file = temp_file ,
189
193
)
190
194
191
195
df_expected = DataFrame (
@@ -209,7 +213,7 @@ def test_wrong_dtype(xml_books, parser, iterparse):
209
213
)
210
214
211
215
212
- def test_both_dtype_converters (parser ):
216
+ def test_both_dtype_converters (parser , temp_file ):
213
217
df_expected = DataFrame (
214
218
{
215
219
"shape" : ["square" , "circle" , "triangle" ],
@@ -231,6 +235,7 @@ def test_both_dtype_converters(parser):
231
235
converters = {"degrees" : str },
232
236
parser = parser ,
233
237
iterparse = {"row" : ["shape" , "degrees" , "sides" ]},
238
+ temp_file = temp_file ,
234
239
)
235
240
236
241
tm .assert_frame_equal (df_result , df_expected )
@@ -240,7 +245,7 @@ def test_both_dtype_converters(parser):
240
245
# CONVERTERS
241
246
242
247
243
- def test_converters_str (parser ):
248
+ def test_converters_str (parser , temp_file ):
244
249
df_result = read_xml (
245
250
StringIO (xml_types ), converters = {"degrees" : str }, parser = parser
246
251
)
@@ -249,6 +254,7 @@ def test_converters_str(parser):
249
254
parser = parser ,
250
255
converters = {"degrees" : str },
251
256
iterparse = {"row" : ["shape" , "degrees" , "sides" ]},
257
+ temp_file = temp_file ,
252
258
)
253
259
254
260
df_expected = DataFrame (
@@ -263,7 +269,7 @@ def test_converters_str(parser):
263
269
tm .assert_frame_equal (df_iter , df_expected )
264
270
265
271
266
- def test_converters_date (parser ):
272
+ def test_converters_date (parser , temp_file ):
267
273
convert_to_datetime = lambda x : to_datetime (x )
268
274
df_result = read_xml (
269
275
StringIO (xml_dates ), converters = {"date" : convert_to_datetime }, parser = parser
@@ -273,6 +279,7 @@ def test_converters_date(parser):
273
279
parser = parser ,
274
280
converters = {"date" : convert_to_datetime },
275
281
iterparse = {"row" : ["shape" , "degrees" , "sides" , "date" ]},
282
+ temp_file = temp_file ,
276
283
)
277
284
278
285
df_expected = DataFrame (
@@ -312,13 +319,14 @@ def test_callable_str_converters(xml_books, parser, iterparse):
312
319
# PARSE DATES
313
320
314
321
315
- def test_parse_dates_column_name (parser ):
322
+ def test_parse_dates_column_name (parser , temp_file ):
316
323
df_result = read_xml (StringIO (xml_dates ), parse_dates = ["date" ], parser = parser )
317
324
df_iter = read_xml_iterparse (
318
325
xml_dates ,
319
326
parser = parser ,
320
327
parse_dates = ["date" ],
321
328
iterparse = {"row" : ["shape" , "degrees" , "sides" , "date" ]},
329
+ temp_file = temp_file ,
322
330
)
323
331
324
332
df_expected = DataFrame (
@@ -334,13 +342,14 @@ def test_parse_dates_column_name(parser):
334
342
tm .assert_frame_equal (df_iter , df_expected )
335
343
336
344
337
- def test_parse_dates_column_index (parser ):
345
+ def test_parse_dates_column_index (parser , temp_file ):
338
346
df_result = read_xml (StringIO (xml_dates ), parse_dates = [3 ], parser = parser )
339
347
df_iter = read_xml_iterparse (
340
348
xml_dates ,
341
349
parser = parser ,
342
350
parse_dates = [3 ],
343
351
iterparse = {"row" : ["shape" , "degrees" , "sides" , "date" ]},
352
+ temp_file = temp_file ,
344
353
)
345
354
346
355
df_expected = DataFrame (
@@ -356,14 +365,15 @@ def test_parse_dates_column_index(parser):
356
365
tm .assert_frame_equal (df_iter , df_expected )
357
366
358
367
359
- def test_parse_dates_true (parser ):
368
+ def test_parse_dates_true (parser , temp_file ):
360
369
df_result = read_xml (StringIO (xml_dates ), parse_dates = True , parser = parser )
361
370
362
371
df_iter = read_xml_iterparse (
363
372
xml_dates ,
364
373
parser = parser ,
365
374
parse_dates = True ,
366
375
iterparse = {"row" : ["shape" , "degrees" , "sides" , "date" ]},
376
+ temp_file = temp_file ,
367
377
)
368
378
369
379
df_expected = DataFrame (
@@ -379,7 +389,7 @@ def test_parse_dates_true(parser):
379
389
tm .assert_frame_equal (df_iter , df_expected )
380
390
381
391
382
- def test_day_first_parse_dates (parser ):
392
+ def test_day_first_parse_dates (parser , temp_file ):
383
393
xml = """\
384
394
<?xml version='1.0' encoding='utf-8'?>
385
395
<data>
@@ -421,6 +431,7 @@ def test_day_first_parse_dates(parser):
421
431
parse_dates = ["date" ],
422
432
parser = parser ,
423
433
iterparse = {"row" : ["shape" , "degrees" , "sides" , "date" ]},
434
+ temp_file = temp_file ,
424
435
)
425
436
426
437
tm .assert_frame_equal (df_result , df_expected )
0 commit comments