forked from sheetjs/docs.sheetjs.com
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			912 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			912 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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)
 |