diff --git a/camelot/core.py b/camelot/core.py index 5d99baf0..8f8cb348 100644 --- a/camelot/core.py +++ b/camelot/core.py @@ -844,8 +844,8 @@ def _compress_dir(self, **kwargs) -> None: filepath = os.path.join(dirname, filename) z.write(filepath, os.path.basename(filepath)) - def export(self, path, f="csv", compress=False): - """Export the list of tables to specified file format. + def export(self, path, f="csv", compress=False, df_kwargs={}): + """Exports the list of tables to specified file format. Parameters ---------- @@ -855,6 +855,8 @@ def export(self, path, f="csv", compress=False): File format. Can be csv, excel, html, json, markdown or sqlite. compress : bool Whether or not to add files to a ZIP archive. + df_kwargs : dict, optional (default: {}) + A dict of `pandas.DataFrame.to_excel https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_excel.html` """ dirname = os.path.dirname(path) @@ -874,7 +876,7 @@ def export(self, path, f="csv", compress=False): writer = pd.ExcelWriter(filepath) for table in self._tables: sheet_name = f"page-{table.page}-table-{table.order}" - table.df.to_excel(writer, sheet_name=sheet_name) + table.df.to_excel(writer, sheet_name=sheet_name, **df_kwargs) writer.close() if compress: zipname = os.path.join(os.path.dirname(path), root) + ".zip" diff --git a/requirements.txt b/requirements.txt new file mode 100755 index 00000000..31d2c7dc --- /dev/null +++ b/requirements.txt @@ -0,0 +1,9 @@ +click>=6.7 +matplotlib>=2.2.3 +numpy>=1.13.3 +opencv-python>=3.4.2.17 +openpyxl>=2.5.8 +pandas>=0.23.4 +pdfminer.six>=20170720 +PyPDF2>=1.26.0 +XlsxWriter>=0.9.8