Skip to content

Commit 6bb4198

Browse files
committed
COMPAT: pytables 3.0.0 function name compat
1 parent be29fd2 commit 6bb4198

File tree

2 files changed

+31
-29
lines changed

2 files changed

+31
-29
lines changed
+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
python-dateutil
22
pytz
33
cython==0.19.1
4+
numexpr==2.4
5+
tables==3.1.0

pandas/io/pytables.py

+29-29
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ def open(self, mode='a', **kwargs):
497497
Parameters
498498
----------
499499
mode : {'a', 'w', 'r', 'r+'}, default 'a'
500-
See HDFStore docstring or tables.openFile for info about modes
500+
See HDFStore docstring or tables.open_file for info about modes
501501
"""
502502
tables = _tables()
503503

@@ -530,11 +530,11 @@ def open(self, mode='a', **kwargs):
530530
fletcher32=self._fletcher32)
531531

532532
try:
533-
self._handle = tables.openFile(self._path, self._mode, **kwargs)
533+
self._handle = tables.open_file(self._path, self._mode, **kwargs)
534534
except (IOError) as e: # pragma: no cover
535535
if 'can not be written' in str(e):
536536
print('Opening %s in read-only mode' % self._path)
537-
self._handle = tables.openFile(self._path, 'r', **kwargs)
537+
self._handle = tables.open_file(self._path, 'r', **kwargs)
538538
else:
539539
raise
540540

@@ -549,7 +549,7 @@ def open(self, mode='a', **kwargs):
549549
"and not open the same file multiple times at once,\n"
550550
"upgrade the HDF5 version, or downgrade to PyTables 3.0.0 which allows\n"
551551
"files to be opened multiple times at once\n".format(version=tables.__version__,
552-
hdf_version=tables.getHDF5Version()))
552+
hdf_version=tables.get_hdf5_version()))
553553

554554
raise e
555555

@@ -1023,7 +1023,7 @@ def groups(self):
10231023
_tables()
10241024
self._check_if_open()
10251025
return [
1026-
g for g in self._handle.walkNodes()
1026+
g for g in self._handle.walk_nodes()
10271027
if (getattr(g._v_attrs, 'pandas_type', None) or
10281028
getattr(g, 'table', None) or
10291029
(isinstance(g, _table_mod.table.Table) and
@@ -1036,7 +1036,7 @@ def get_node(self, key):
10361036
try:
10371037
if not key.startswith('/'):
10381038
key = '/' + key
1039-
return self._handle.getNode(self.root, key)
1039+
return self._handle.get_node(self.root, key)
10401040
except:
10411041
return None
10421042

@@ -1221,7 +1221,7 @@ def _write_to_group(self, key, value, format, index=True, append=False,
12211221

12221222
# remove the node if we are not appending
12231223
if group is not None and not append:
1224-
self._handle.removeNode(group, recursive=True)
1224+
self._handle.remove_node(group, recursive=True)
12251225
group = None
12261226

12271227
# we don't want to store a table node at all if are object is 0-len
@@ -1243,7 +1243,7 @@ def _write_to_group(self, key, value, format, index=True, append=False,
12431243
new_path += p
12441244
group = self.get_node(new_path)
12451245
if group is None:
1246-
group = self._handle.createGroup(path, p)
1246+
group = self._handle.create_group(path, p)
12471247
path = new_path
12481248

12491249
s = self._create_storer(group, format, value, append=append,
@@ -2137,7 +2137,7 @@ def write(self, **kwargs):
21372137
def delete(self, where=None, start=None, stop=None, **kwargs):
21382138
""" support fully deleting the node in its entirety (only) - where specification must be None """
21392139
if where is None and start is None and stop is None:
2140-
self._handle.removeNode(self.group, recursive=True)
2140+
self._handle.remove_node(self.group, recursive=True)
21412141
return None
21422142

21432143
raise TypeError("cannot delete on an abstract storer")
@@ -2379,7 +2379,7 @@ def write_array_empty(self, key, value):
23792379

23802380
# ugly hack for length 0 axes
23812381
arr = np.empty((1,) * value.ndim)
2382-
self._handle.createArray(self.group, key, arr)
2382+
self._handle.create_array(self.group, key, arr)
23832383
getattr(self.group, key)._v_attrs.value_type = str(value.dtype)
23842384
getattr(self.group, key)._v_attrs.shape = value.shape
23852385

@@ -2389,7 +2389,7 @@ def _is_empty_array(self, shape):
23892389

23902390
def write_array(self, key, value, items=None):
23912391
if key in self.group:
2392-
self._handle.removeNode(self.group, key)
2392+
self._handle.remove_node(self.group, key)
23932393

23942394
# Transform needed to interface with pytables row/col notation
23952395
empty_array = self._is_empty_array(value.shape)
@@ -2410,7 +2410,7 @@ def write_array(self, key, value, items=None):
24102410
if atom is not None:
24112411
# create an empty chunked array and fill it from value
24122412
if not empty_array:
2413-
ca = self._handle.createCArray(self.group, key, atom,
2413+
ca = self._handle.create_carray(self.group, key, atom,
24142414
value.shape,
24152415
filters=self._filters)
24162416
ca[:] = value
@@ -2438,23 +2438,23 @@ def write_array(self, key, value, items=None):
24382438
ws = performance_doc % (inferred_type, key, items)
24392439
warnings.warn(ws, PerformanceWarning)
24402440

2441-
vlarr = self._handle.createVLArray(self.group, key,
2441+
vlarr = self._handle.create_vlarray(self.group, key,
24422442
_tables().ObjectAtom())
24432443
vlarr.append(value)
24442444
else:
24452445
if empty_array:
24462446
self.write_array_empty(key, value)
24472447
else:
24482448
if value.dtype.type == np.datetime64:
2449-
self._handle.createArray(self.group, key, value.view('i8'))
2449+
self._handle.create_array(self.group, key, value.view('i8'))
24502450
getattr(
24512451
self.group, key)._v_attrs.value_type = 'datetime64'
24522452
elif value.dtype.type == np.timedelta64:
2453-
self._handle.createArray(self.group, key, value.view('i8'))
2453+
self._handle.create_array(self.group, key, value.view('i8'))
24542454
getattr(
24552455
self.group, key)._v_attrs.value_type = 'timedelta64'
24562456
else:
2457-
self._handle.createArray(self.group, key, value)
2457+
self._handle.create_array(self.group, key, value)
24582458

24592459
getattr(self.group, key)._v_attrs.transposed = transposed
24602460

@@ -2558,7 +2558,7 @@ def write(self, obj, **kwargs):
25582558
for name, ss in compat.iteritems(obj):
25592559
key = 'sparse_series_%s' % name
25602560
if key not in self.group._v_children:
2561-
node = self._handle.createGroup(self.group, key)
2561+
node = self._handle.create_group(self.group, key)
25622562
else:
25632563
node = getattr(self.group, key)
25642564
s = SparseSeriesFixed(self.parent, node)
@@ -2594,7 +2594,7 @@ def write(self, obj, **kwargs):
25942594
for name, sdf in compat.iteritems(obj):
25952595
key = 'sparse_frame_%s' % name
25962596
if key not in self.group._v_children:
2597-
node = self._handle.createGroup(self.group, key)
2597+
node = self._handle.create_group(self.group, key)
25982598
else:
25992599
node = getattr(self.group, key)
26002600
s = SparseFrameFixed(self.parent, node)
@@ -3012,18 +3012,18 @@ def create_index(self, columns=None, optlevel=None, kind=None):
30123012
cur_kind = index.kind
30133013

30143014
if kind is not None and cur_kind != kind:
3015-
v.removeIndex()
3015+
v.remove_index()
30163016
else:
30173017
kw['kind'] = cur_kind
30183018

30193019
if optlevel is not None and cur_optlevel != optlevel:
3020-
v.removeIndex()
3020+
v.remove_index()
30213021
else:
30223022
kw['optlevel'] = cur_optlevel
30233023

30243024
# create the index
30253025
if not v.is_indexed:
3026-
v.createIndex(**kw)
3026+
v.create_index(**kw)
30273027

30283028
def read_axes(self, where, **kwargs):
30293029
"""create and return the axes sniffed from the table: return boolean
@@ -3583,7 +3583,7 @@ def write(self, obj, axes=None, append=False, complib=None,
35833583
chunksize=None, expectedrows=None, dropna=True, **kwargs):
35843584

35853585
if not append and self.is_exists:
3586-
self._handle.removeNode(self.group, 'table')
3586+
self._handle.remove_node(self.group, 'table')
35873587

35883588
# create the axes
35893589
self.create_axes(axes=axes, obj=obj, validate=append,
@@ -3602,7 +3602,7 @@ def write(self, obj, axes=None, append=False, complib=None,
36023602
self.set_attrs()
36033603

36043604
# create the table
3605-
table = self._handle.createTable(self.group, **options)
3605+
table = self._handle.create_table(self.group, **options)
36063606

36073607
else:
36083608
table = self.table
@@ -3731,12 +3731,12 @@ def delete(self, where=None, start=None, stop=None, **kwargs):
37313731
if where is None or not len(where):
37323732
if start is None and stop is None:
37333733
nrows = self.nrows
3734-
self._handle.removeNode(self.group, recursive=True)
3734+
self._handle.remove_node(self.group, recursive=True)
37353735
else:
37363736
# pytables<3.0 would remove a single row with stop=None
37373737
if stop is None:
37383738
stop = self.nrows
3739-
nrows = self.table.removeRows(start=start, stop=stop)
3739+
nrows = self.table.remove_rows(start=start, stop=stop)
37403740
self.table.flush()
37413741
return nrows
37423742

@@ -3775,7 +3775,7 @@ def delete(self, where=None, start=None, stop=None, **kwargs):
37753775
pg = groups.pop()
37763776
for g in reversed(groups):
37773777
rows = l.take(lrange(g, pg))
3778-
table.removeRows(start=rows[rows.index[0]
3778+
table.remove_rows(start=rows[rows.index[0]
37793779
], stop=rows[rows.index[-1]] + 1)
37803780
pg = g
37813781

@@ -4318,10 +4318,10 @@ def select(self):
43184318
generate the selection
43194319
"""
43204320
if self.condition is not None:
4321-
return self.table.table.readWhere(self.condition.format(),
4321+
return self.table.table.read_where(self.condition.format(),
43224322
start=self.start, stop=self.stop)
43234323
elif self.coordinates is not None:
4324-
return self.table.table.readCoordinates(self.coordinates)
4324+
return self.table.table.read_coordinates(self.coordinates)
43254325
return self.table.table.read(start=self.start, stop=self.stop)
43264326

43274327
def select_coords(self):
@@ -4340,7 +4340,7 @@ def select_coords(self):
43404340
stop += nrows
43414341

43424342
if self.condition is not None:
4343-
return self.table.table.getWhereList(self.condition.format(),
4343+
return self.table.table.get_where_list(self.condition.format(),
43444344
start=start, stop=stop,
43454345
sort=True)
43464346
elif self.coordinates is not None:

0 commit comments

Comments
 (0)