Skip to content

Commit 32b5ded

Browse files
committed
Fix pandas-dev#60823: pd.HDFStore(file, mode='a') increases file size unnecessarily
1 parent 56847c5 commit 32b5ded

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

pandas/io/pytables.py

+14
Original file line numberDiff line numberDiff line change
@@ -1971,9 +1971,23 @@ def _identify_group(self, key: str, append: bool) -> Node:
19711971

19721972
# remove the node if we are not appending
19731973
if group is not None and not append:
1974+
19741975
self._handle.remove_node(group, recursive=True)
1976+
1977+
# copies, erases old file and opens new file in order to clean file size
1978+
tables = _tables()
1979+
original_file = self._handle.filename
1980+
temp_file = original_file + '.tmp'
1981+
1982+
self._handle.copy_file(temp_file, overwrite=True)
1983+
self._handle.close()
1984+
1985+
os.rename(temp_file, original_file)
1986+
self._handle = tables.open_file(original_file, mode=self._mode)
1987+
19751988
group = None
19761989

1990+
19771991
if group is None:
19781992
group = self._create_nodes_and_group(key)
19791993

0 commit comments

Comments
 (0)