Spaces:
Build error
Build error
Streamlit has an error with multiple table download buttons
#2
by
shamikbose89
- opened
app.py
CHANGED
|
@@ -381,7 +381,7 @@ class TableExtractionPipeline():
|
|
| 381 |
return df.to_csv().encode('utf-8')
|
| 382 |
|
| 383 |
|
| 384 |
-
def create_dataframe(self, c3, cells_pytess_result:list, max_cols:int, max_rows:int):
|
| 385 |
'''Create dataframe using list of cell values of the table, also checks for valid header of dataframe
|
| 386 |
Args:
|
| 387 |
cells_pytess_result: list of strings, each element representing a cell in a table
|
|
@@ -419,7 +419,7 @@ class TableExtractionPipeline():
|
|
| 419 |
|
| 420 |
c3.dataframe(df)
|
| 421 |
csv = self.convert_df(df)
|
| 422 |
-
c3.download_button("Download table", csv, "file.csv", "text/csv", key='download-csv')
|
| 423 |
|
| 424 |
return df
|
| 425 |
|
|
@@ -447,7 +447,7 @@ class TableExtractionPipeline():
|
|
| 447 |
self.plot_results_detection(c1, model, image, probas, bboxes_scaled, delta_xmin, delta_ymin, delta_xmax, delta_ymax)
|
| 448 |
cropped_img_list = self.crop_tables(image, probas, bboxes_scaled, delta_xmin, delta_ymin, delta_xmax, delta_ymax)
|
| 449 |
|
| 450 |
-
for unpadded_table in cropped_img_list:
|
| 451 |
|
| 452 |
table = self.add_padding(unpadded_table, padd_top, padd_right, padd_bottom, padd_left)
|
| 453 |
# table = super_res(table)
|
|
@@ -477,7 +477,7 @@ class TableExtractionPipeline():
|
|
| 477 |
cells_pytess_result = await asyncio.gather(*sequential_cell_img_list)
|
| 478 |
|
| 479 |
|
| 480 |
-
self.create_dataframe(c3, cells_pytess_result, max_cols, max_rows)
|
| 481 |
st.write('Errors in OCR is due to either quality of the image or performance of the OCR')
|
| 482 |
# except:
|
| 483 |
# st.write('Either incorrectly identified table or no table, to debug remove try/except')
|
|
|
|
| 381 |
return df.to_csv().encode('utf-8')
|
| 382 |
|
| 383 |
|
| 384 |
+
def create_dataframe(self, c3, cells_pytess_result:list, max_cols:int, max_rows:int, table_num: int):
|
| 385 |
'''Create dataframe using list of cell values of the table, also checks for valid header of dataframe
|
| 386 |
Args:
|
| 387 |
cells_pytess_result: list of strings, each element representing a cell in a table
|
|
|
|
| 419 |
|
| 420 |
c3.dataframe(df)
|
| 421 |
csv = self.convert_df(df)
|
| 422 |
+
c3.download_button("Download table", csv, "file.csv", "text/csv", key=f'download-csv-{table_num}')
|
| 423 |
|
| 424 |
return df
|
| 425 |
|
|
|
|
| 447 |
self.plot_results_detection(c1, model, image, probas, bboxes_scaled, delta_xmin, delta_ymin, delta_xmax, delta_ymax)
|
| 448 |
cropped_img_list = self.crop_tables(image, probas, bboxes_scaled, delta_xmin, delta_ymin, delta_xmax, delta_ymax)
|
| 449 |
|
| 450 |
+
for table_num, unpadded_table in enumerate(cropped_img_list):
|
| 451 |
|
| 452 |
table = self.add_padding(unpadded_table, padd_top, padd_right, padd_bottom, padd_left)
|
| 453 |
# table = super_res(table)
|
|
|
|
| 477 |
cells_pytess_result = await asyncio.gather(*sequential_cell_img_list)
|
| 478 |
|
| 479 |
|
| 480 |
+
self.create_dataframe(c3, cells_pytess_result, max_cols, max_rows, table_num)
|
| 481 |
st.write('Errors in OCR is due to either quality of the image or performance of the OCR')
|
| 482 |
# except:
|
| 483 |
# st.write('Either incorrectly identified table or no table, to debug remove try/except')
|