私はcsvから値を取得してデータベースに入れようとしていますが、これは大きな問題なく実行できます。
ただし、csvに書き戻す必要があることはわかっているので、次にスクリプトを実行すると、csvファイルのマークの下からDBに値が入力されるだけです。
システム上のCSVファイルは24時間ごとに自動的にフラッシュされるため、csvにマークがない可能性があることに注意してください。したがって、マークが見つからない場合は、基本的にすべての値をデータベースに入れます。
このスクリプトを30分ごとに実行することを計画しているので、csvファイルに48個のマークが含まれている可能性があります。または、マークを削除して毎回ファイルの下に移動することもできますか?
私はファイルを削除してからスクリプトでファイルを再作成しているので、スクリプトが実行されるたびに新しいファイルが作成されますが、これはシステムを何らかの形で破壊するため、優れたオプションではありません。
皆さんがお役に立てば幸いです。
ありがとうございました
Pythonコード:
import csv
import MySQLdb
mydb = MySQLdb.connect(host='localhost',
user='root',
passwd='******',
db='kestrel_keep')
cursor = mydb.cursor()
csv_data = csv.reader(file('data_csv.log'))
for row in csv_data:
cursor.execute('INSERT INTO `heating` VALUES ( %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,)',
row)
#close the connection to the database.
mydb.commit()
cursor.close()
import os
print "Done"
私のCSVファイル形式:
2013-02-21,21:42:00,-1.0,45.8,27.6,17.3,14.1,22.3,21.1,1,1,2,2
2013-02-21,21:48:00,-1.0,45.8,27.5,17.3,13.9,22.3,20.9,1,1,2,2