def save_table(self, table_format=None): if table_format is None: table_format = CONF.get('paths', 'table') output_dir = CONF.get('paths', 'output_dir') filename = 'sans-titre.' + table_format user_path = os.path.join(output_dir, filename) extension = table_format.upper() + " (*." + table_format + ")" fname = QFileDialog.getSaveFileName(self, u"Exporter la table", user_path, extension) if fname: CONF.set('paths', 'output_dir', os.path.dirname(str(fname))) try: if table_format == "xls": writer = ExcelWriter(str(fname)) df = self.create_dataframe() descr = self.create_description() df.to_excel(writer, "table", index=True, header=False) descr.to_excel(writer, "description", index=False, header=False) writer.save() elif table_format == "csv": # TODO: use DataFrame's ? now = datetime.now() csvfile = open(fname, 'wb') writer = UnicodeWriter(csvfile, dialect=csv.excel, delimiter=';') for row in self.data: if not row.desc in ('root'): outlist = [row.desc] for val in row.vals: outlist.append(locale.str(val)) writer.writerow(outlist) writer.writerow([u'OpenFisca']) writer.writerow([ u'Calculé le %s à %s' % (now.strftime('%d-%m-%Y'), now.strftime('%H:%M')) ]) writer.writerow([ u'Système socio-fiscal au %s' % CONF.get('simulation', 'datesim') ]) writer.writerow([]) csvfile.close() except Exception, e: QMessageBox.critical(self, "Error saving file", str(e), QMessageBox.Ok, QMessageBox.NoButton)
def save_table(self, table_format = None): if table_format is None: table_format = CONF.get('paths', 'table') output_dir = CONF.get('paths', 'output_dir') filename = 'sans-titre.' + table_format user_path = os.path.join(output_dir, filename) extension = table_format.upper() + " (*." + table_format + ")" fname = QFileDialog.getSaveFileName(self, u"Exporter la table", user_path, extension) if fname: CONF.set('paths', 'output_dir', os.path.dirname(str(fname))) try: if table_format == "xls": writer = ExcelWriter(str(fname)) df = self.create_dataframe() descr = self.create_description() df.to_excel(writer, "table", index=True, header= False) descr.to_excel(writer, "description", index = False, header=False) writer.save() elif table_format =="csv": # TODO: use DataFrame's ? now = datetime.now() csvfile = open(fname, 'wb') writer = UnicodeWriter(csvfile, dialect= csv.excel, delimiter=';') for row in self.data: if not row.desc in ('root'): outlist = [row.desc] for val in row.vals: outlist.append(locale.str(val)) writer.writerow(outlist) writer.writerow([u'OpenFisca']) writer.writerow([u'Calculé le %s à %s' % (now.strftime('%d-%m-%Y'), now.strftime('%H:%M'))]) writer.writerow([u'Système socio-fiscal au %s' % CONF.get('simulation', 'datesim')]) writer.writerow([]) csvfile.close() except Exception, e: QMessageBox.critical( self, "Error saving file", str(e), QMessageBox.Ok, QMessageBox.NoButton)
def save_table(self): table_format = self.table_format filename = _("Untitled.") + table_format output_dir = self.get_option('table/export_dir') user_path = os.path.join(output_dir, filename) extension = table_format.upper() + " (*." + table_format + ")" fname = QFileDialog.getSaveFileName(self, _("Save table"), user_path, extension) if fname: output_dir = os.path.dirname(str(fname)) self.set_option('table/export_dir', output_dir) try: if table_format == "xls": writer = ExcelWriter(str(fname)) df = self.create_dataframe() descr = self.create_description() df.to_excel(writer, "table", index=True, header= False) descr.to_excel(writer, "description", index = False, header=False) writer.save() elif table_format =="csv": # TODO: use DataFrame's ? now = datetime.now() csvfile = open(fname, 'wb') writer = UnicodeWriter(csvfile, dialect= csv.excel, delimiter=';') for row in self.data: if not row.desc in ('root'): outlist = [row.desc] for val in row.vals: outlist.append(locale.str(val)) writer.writerow(outlist) writer.writerow(['OpenFisca']) writer.writerow([_('Computed on %s at %s') % (now.strftime('%d-%m-%Y'), now.strftime('%H:%M'))]) writer.writerow([_('Socio-fiscal legislation of date %s') % str(self.simulation.datesim)]) writer.writerow([]) csvfile.close() except Exception, e: QMessageBox.critical( self, "Error saving file", str(e), QMessageBox.Ok, QMessageBox.NoButton)