Guest User

Untitled

a guest
Oct 14th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3.  
  4. import csv
  5. import os
  6. import glob
  7. import sys
  8. import shutil
  9. import mysql.connector
  10.  
  11. from configparser import ConfigParser
  12.  
  13.  
  14. def csv_to_mysql(files):
  15. """
  16. MySQLへデータを登録する。
  17. 速度が遅いと感じたらmultiple insertも検討する
  18. """
  19. config = ConfigParser()
  20. config.read('config.ini')
  21. conn = mysql.connector.connect(
  22. host=config.get('mysql', 'host'),
  23. port=config.getint('mysql', 'port'),
  24. user=config.get('mysql', 'user'),
  25. password=config.get('mysql', 'password'),
  26. database=config.get('mysql', 'database'),
  27. charset=config.get('mysql', 'charset'),
  28. )
  29.  
  30. cursor = conn.cursor()
  31. for file in files:
  32. with open(file) as csv_file:
  33. reader = csv.reader(csv_file)
  34. for row in reader:
  35. try:
  36. cursor.execute(
  37. 'insert into sensors values (%s, %s, %s, %s, %s, %s)', row)
  38. except:
  39. conn.rollback()
  40. raise
  41. dst = file.split('\\')
  42. dst.insert(-1, 'inserted')
  43. dst = '/'.join(dst)
  44. shutil.move(file, dst)
  45. conn.commit()
  46. cursor.close()
  47. conn.close()
  48.  
  49.  
  50. if __name__ == '__main__':
  51. csv_to_mysql(glob.glob('*/*/*.csv'))
Add Comment
Please, Sign In to add comment