from sheetjs import SheetJS from sys import argv, exit test_pandas = True try: import pandas as pd except: test_pandas = False # Parse file and generate row objects with SheetJS() as sheetjs: # Print library version number print(f"SheetJS Version {sheetjs.version()}") # Read and parse data from file wb = sheetjs.read_file(argv[1]) # Get first worksheet name wsname = wb.sheet_names()[0] print(f"Reading from sheet {wsname}") # Get data from first sheet ws = wb.get_sheet(wsname) rows = ws.get_rows() for row in rows: print(row) if not test_pandas: print("Pandas could not be loaded, skipping tests") exit() print("\n## Pandas DataFrame\n") # generate dataframe df = pd.DataFrame.from_records(rows) print(df.info()) outf="pres.xls" print(f"\n## Writing to {outf}\n") # write JSON string to XLS worksheet with SheetJS() as sheetjs: sheetjs.book_from_df(df).to_file(outf)