rvsdb.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. '''Created Jun 4, 2021 Levi'''
  2. import warnings
  3. import sqlite3
  4. # from sqlite3 import (
  5. # Connection as con,
  6. # Cursor as cur
  7. # )
  8. import shutil
  9. # import os
  10. # import openpyxl as xl
  11. # import xlsxwriter as xlwt
  12. # from xlsxwriter.worksheet import (
  13. # Worksheet as worksheet
  14. # )
  15. import pandas as pd
  16. from pandas import DataFrame as df # @UnusedImport
  17. warnings.filterwarnings('ignore', module='xlsxwriter')
  18. con = sqlite3.connect('file:Revisal.db?mode=ro', uri=True)
  19. cur = con.cursor()
  20. with open('revisal.sql') as sql_query:
  21. query = sql_query.read()
  22. # rows = cur.execute(query)
  23. df = pd.read_sql_query(
  24. query,
  25. con,
  26. parse_dates=['DataContract', 'DataInceput', 'DataConsemn', 'DataIncetare']
  27. )
  28. print(df.head())
  29. fname = 'rvs.xlsx'
  30. writer = pd.ExcelWriter(
  31. fname,
  32. engine='xlsxwriter',
  33. date_format='mmmm dd yy',
  34. datetime_format='dd-mmm-yy'
  35. )
  36. df.to_excel(writer, sheet_name='Sheet1', index=True)
  37. workbook = writer.book
  38. workbook.add_vba_project('./vbaProject.bin')
  39. worksheet = writer.sheets['Sheet1']
  40. # worksheet = workbook.add_worksheet()
  41. worksheet.freeze_panes(1, 0)
  42. worksheet.autofilter('A1:M500')
  43. set_columns = {
  44. 'A:A': 5,
  45. 'B:B': 23,
  46. 'C:C': 5,
  47. 'D:D': 12,
  48. 'E:E': 12,
  49. # 'F:F': 12,
  50. # 'I:I': 12,
  51. 'H:H': 12,
  52. 'L:L': 12
  53. }
  54. for column, width in set_columns.items():
  55. worksheet.set_column(column, width)
  56. writer.save()
  57. writer.close()
  58. shutil.move('rvs.xlsx', 'rvs.xlsm')