Skip to content

Commit fb362d3

Browse files
Terji PetersenTerji Petersen
Terji Petersen
authored and
Terji Petersen
committed
API: ensure read_json closes file handle
1 parent 3c72d6f commit fb362d3

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

pandas/io/json/_json.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -896,20 +896,20 @@ def read(self) -> DataFrame | Series:
896896
Read the whole JSON input into a pandas object.
897897
"""
898898
obj: DataFrame | Series
899-
if self.lines:
900-
if self.chunksize:
901-
obj = concat(self)
902-
elif self.nrows:
903-
lines = list(islice(self.data, self.nrows))
904-
lines_json = self._combine_lines(lines)
905-
obj = self._get_object_parser(lines_json)
899+
with self:
900+
if self.lines:
901+
if self.chunksize:
902+
obj = concat(self)
903+
elif self.nrows:
904+
lines = list(islice(self.data, self.nrows))
905+
lines_json = self._combine_lines(lines)
906+
obj = self._get_object_parser(lines_json)
907+
else:
908+
data = ensure_str(self.data)
909+
data_lines = data.split("\n")
910+
obj = self._get_object_parser(self._combine_lines(data_lines))
906911
else:
907-
data = ensure_str(self.data)
908-
data_lines = data.split("\n")
909-
obj = self._get_object_parser(self._combine_lines(data_lines))
910-
else:
911-
obj = self._get_object_parser(self.data)
912-
self.close()
912+
obj = self._get_object_parser(self.data)
913913
return obj
914914

915915
def _get_object_parser(self, json) -> DataFrame | Series:

0 commit comments

Comments
 (0)