Skip to content

Commit b7bfcc7

Browse files
committed
Add functionality for specifying the format string when exporting data, bump version number to 0.8.4.1
1 parent 55481aa commit b7bfcc7

File tree

5 files changed

+28
-26
lines changed

5 files changed

+28
-26
lines changed

psctb/analyse/_ratechar.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ def save_session(self, file_name=None):
206206
numpy.savez(file_name, **to_save)
207207

208208

209-
def save_results(self, folder=None, separator=',', ):
209+
def save_results(self, folder=None, separator=',',format='%f'):
210210
base_folder = folder
211211
for species in self.mod.species:
212212
if folder:
@@ -424,7 +424,7 @@ def _make_prc_summary(self):
424424

425425
self._prc_summary = prcs
426426

427-
def save_summary(self, file_name=None, separator=','):
427+
def save_summary(self, file_name=None, separator=',',fmt='%f'):
428428
file_name = modeltools.get_file_path(working_dir=self._working_dir,
429429
internal_filename='mca_summary',
430430
fmt='csv',
@@ -440,11 +440,12 @@ def save_summary(self, file_name=None, separator=','):
440440
names=keys,
441441
header=['Value'],
442442
fname=file_name,
443-
sep=separator)
443+
sep=separator,
444+
format=fmt)
444445
except IOError as e:
445446
print e.strerror
446447

447-
def save_flux_results(self, file_name=None, separator=','):
448+
def save_flux_results(self, file_name=None, separator=',',fmt='%f'):
448449
file_name = modeltools.get_file_path(working_dir=self._working_dir,
449450
internal_filename='flux_results',
450451
fmt='csv',
@@ -462,15 +463,17 @@ def save_flux_results(self, file_name=None, separator=','):
462463
names=None,
463464
header=column_names,
464465
fname=file_name,
465-
sep=separator)
466+
sep=separator,
467+
format=fmt)
466468
except IOError as e:
467469
print e.strerror
468470

469471
def save_coefficient_results(self,
470472
coefficient,
471473
file_name=None,
472474
separator=',',
473-
folder=None):
475+
folder=None,
476+
fmt='%f'):
474477
assert_message = 'coefficient must be one of "ec", "rc" or "prc"'
475478

476479
assert coefficient in ['rc', 'ec', 'prc'], assert_message
@@ -493,32 +496,34 @@ def save_coefficient_results(self,
493496
names=None,
494497
header=new_names,
495498
fname=file_name,
496-
sep=separator)
499+
sep=separator,
500+
format=fmt)
497501
except IOError as e:
498502
print e.strerror
499503

500504
# TODO fix this method so that folder is a parameter only her
501-
def save_all_results(self, folder=None, separator=','):
505+
def save_all_results(self, folder=None, separator=',',fmt='%f'):
502506
if not folder:
503507
folder = self._working_dir
504508

505509
file_name = modeltools.get_file_path(working_dir=folder,
506510
internal_filename='flux_results',
507511
fmt='csv')
508-
self.save_flux_results(separator=separator, file_name=file_name)
512+
self.save_flux_results(separator=separator, file_name=file_name,fmt=fmt)
509513

510514
file_name = modeltools.get_file_path(working_dir=folder,
511515
internal_filename='mca_summary',
512516
fmt='csv')
513-
self.save_summary(separator=separator, file_name=file_name)
517+
self.save_summary(separator=separator, file_name=file_name, fmt=fmt)
514518
for each in ['ec', 'rc', 'prc']:
515519
base_name = each + '_results'
516520
file_name = modeltools.get_file_path(working_dir=folder,
517521
internal_filename=base_name,
518522
fmt='csv')
519523
self.save_coefficient_results(coefficient=each,
520524
separator=separator,
521-
file_name=file_name)
525+
file_name=file_name,
526+
fmt=fmt)
522527

523528
def _min_max_setup(self):
524529
# Negative minimum linear values mean nothing

psctb/analyse/_symca/_symca.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ def load_session(self, file_name=None):
288288
for key, value in cc_containers.iteritems():
289289
setattr(self, key, value)
290290

291-
def save_results(self, file_name=None, separator=','):
291+
def save_results(self, file_name=None, separator=',',fmt='%.9f'):
292292
file_name = get_file_path(working_dir=self._working_dir,
293293
internal_filename='cc_summary',
294294
fmt='csv',
@@ -348,9 +348,9 @@ def save_results(self, file_name=None, separator=','):
348348
try:
349349
savetxt(fname=file_name,
350350
X=X,
351-
header=','.join(head),
351+
header=separator.join(head),
352352
delimiter=separator,
353-
fmt=['%s', '%.9f', '%s', '%s'],)
353+
fmt=['%s', fmt, '%s', '%s'],)
354354

355355
except IOError as e:
356356
print e.strerror

psctb/analyse/_thermokin.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ def _populate_ec_results(self):
166166
for rate_eqn in self.reaction_results.itervalues():
167167
self.ec_results.update(rate_eqn.ec_results)
168168

169-
def save_results(self, file_name=None, separator=','):
169+
def save_results(self, file_name=None, separator=',',fmt='%.9f'):
170170
file_name = get_file_path(working_dir=self._working_dir,
171171
internal_filename='tk_summary',
172172
fmt='csv',
@@ -208,9 +208,9 @@ def save_results(self, file_name=None, separator=','):
208208
try:
209209
savetxt(fname=file_name,
210210
X=X,
211-
header=','.join(head),
211+
header=separator.join(head),
212212
delimiter=separator,
213-
fmt=['%s', '%.9f', '%s', '%s'], )
213+
fmt=['%s', fmt, '%s', '%s'], )
214214

215215
except IOError as e:
216216
print e.strerror

psctb/utils/plotting/_plotting.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@ def plot(self):
515515

516516
return scan_fig
517517

518-
def save_results(self, file_name=None, separator=','):
518+
def save_results(self, file_name=None, separator=',',fmt='%f'):
519519
"""
520520
Saves data stores in current instance of ``Data2D`` as a comma
521521
separated file.
@@ -530,12 +530,8 @@ def save_results(self, file_name=None, separator=','):
530530
separator : str, Optional (Default : ',')
531531
The symbol which should be used to separate values in the output
532532
file.
533-
folder : str, Optional (Default : None)
534-
The folder under which the file should be saved. Only comes into
535-
consideration if file_name is None. If None the file will be saved
536-
under the the folder specified in the ``self._working_dir`` field,
537-
which itself is determined by the ``analysis_method`` parameter of
538-
__init__.
533+
format : str, Optional (Default : '%f')
534+
Format for the data.
539535
"""
540536
file_name = modeltools.get_file_path(working_dir=self._working_dir,
541537
internal_filename=self._fname,
@@ -551,7 +547,8 @@ def save_results(self, file_name=None, separator=','):
551547
names=None,
552548
header=column_names,
553549
fname=file_name,
554-
sep=separator)
550+
sep=separator,
551+
format=fmt)
555552
except IOError as e:
556553
print e.strerror
557554

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
setup(
66
name='PyscesToolbox',
7-
version='0.8.4',
7+
version='0.8.4.1',
88
packages=packages,
99
url='https://github.com/PySCeS/PyscesToolbox',
1010
license='',

0 commit comments

Comments
 (0)