@@ -172,10 +172,17 @@ class DuplicateWarning(Warning):
172
172
: boolean
173
173
drop ALL nan rows when appending to a table
174
174
"""
175
+ format_doc = """
176
+ : format
177
+ default format writing format, if None, then
178
+ put will default to 'fixed' and append will default to 'table'
179
+ """
175
180
176
181
with config .config_prefix ('io.hdf' ):
177
182
config .register_option ('dropna_table' , True , dropna_doc ,
178
183
validator = config .is_bool )
184
+ config .register_option ('default_format' , None , format_doc ,
185
+ validator = config .is_one_of_factory (['fixed' ,'table' ,None ]))
179
186
180
187
# oh the troubles to reduce import time
181
188
_table_mod = None
@@ -228,7 +235,7 @@ def get_store(path, **kwargs):
228
235
229
236
# interface to/from ###
230
237
231
- def to_hdf (path_or_buf , key , value , mode = None , format = None , complevel = None , complib = None , append = None , ** kwargs ):
238
+ def to_hdf (path_or_buf , key , value , mode = None , complevel = None , complib = None , append = None , ** kwargs ):
232
239
""" store this object, close it if we opened it """
233
240
if append :
234
241
f = lambda store : store .append (key , value , ** kwargs )
@@ -685,7 +692,9 @@ def put(self, key, value, format=None, append=False, **kwargs):
685
692
For Table format, append the input data to the existing
686
693
encoding : default None, provide an encoding for strings
687
694
"""
688
- kwargs = self ._validate_format (format or 'fixed' , kwargs )
695
+ if format is None :
696
+ format = get_option ("io.hdf.default_format" ) or 'fixed'
697
+ kwargs = self ._validate_format (format , kwargs )
689
698
self ._write_to_group (key , value , append = append , ** kwargs )
690
699
691
700
def remove (self , key , where = None , start = None , stop = None ):
@@ -771,7 +780,9 @@ def append(self, key, value, format=None, append=True, columns=None, dropna=None
771
780
772
781
if dropna is None :
773
782
dropna = get_option ("io.hdf.dropna_table" )
774
- kwargs = self ._validate_format (format or 'table' , kwargs )
783
+ if format is None :
784
+ format = get_option ("io.hdf.default_format" ) or 'table'
785
+ kwargs = self ._validate_format (format , kwargs )
775
786
self ._write_to_group (key , value , append = append , dropna = dropna , ** kwargs )
776
787
777
788
def append_to_multiple (self , d , value , selector , data_columns = None , axes = None , ** kwargs ):
0 commit comments