Advertisement
arushear

SQL_TO_CSV

Oct 15th, 2024 (edited)
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. import psycopg2
  2. import csv
  3. from datetime import datetime
  4.  
  5. # Pobierz aktualną datę i czas
  6. current_datetime = datetime.now()
  7.  
  8.  
  9. # Konfiguracja parametrów połączenia
  10. host = "localhost"
  11. port = "5432"
  12. user = "user"
  13. password = "password"
  14. database = "baza"
  15. output_file = f"nazwa_pliku_{current_datetime.strftime('%Y-%m-%d_%H-%M-%S')}.csv"
  16. query = """select * from artykuly;"""
  17.  
  18. # Utwórz połączenie z bazą danych
  19. connection = psycopg2.connect(
  20. host=host,
  21. port=port,
  22. user=user,
  23. password=password,
  24. database=database
  25. )
  26.  
  27. # Utwórz kursor do wykonywania zapytań
  28. cursor = connection.cursor()
  29.  
  30. # Wykonaj zapytanie SQL
  31. cursor.execute(query)
  32.  
  33. # Pobierz wynik zapytania
  34. results = cursor.fetchall()
  35.  
  36. # Zapisz wynik do pliku CSV z separatorem średnika
  37. with open(output_file, "w", newline="", encoding="utf-8") as csvfile:
  38. # Zapisz nagłówki kolumn
  39. column_names = [desc[0] for desc in cursor.description]
  40. csv_writer = csv.writer(csvfile, delimiter=';') # Ustaw separator na średnik
  41. csv_writer.writerow(column_names)
  42.  
  43. # Zapisz dane
  44. for row in results:
  45. formatted_row = [str(item) if item is not None else "" for item in row] # Obsłuż None jako puste pole
  46. csv_writer.writerow(formatted_row)
  47.  
  48.  
  49.  
  50.  
  51. # Zamknij kursor i połączenie
  52. cursor.close()
  53. connection.close()
  54.  
  55. print(f"Wynik zapisano w pliku {output_file}")
  56.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement