【发布时间】:2013-02-10 10:38:45
【问题描述】:
我正在尝试从 csv 获取值并将它们放入数据库中,我设法做到这一点没有很多麻烦。
但我知道需要写回 csv,所以下次我运行脚本时,它只会将值从 csv 文件中的标记处输入到数据库中。
请注意,系统上的 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
【问题讨论】: