我正在尝试从CSV导入数千个对象的列表。导入时,除日期和日期时间对象外,所有内容都正确存储。这些对象在我的数据库中变为null。
日期时间对象的一个示例是nrel_date_updated键。有趣的是,如果我在我的导入脚本中放置一个print语句来打印nrel_date_updated,它会正确打印日期的unicode。尽管如此,数据库中的日期变为空。
我已经尝试在keyString和valString循环之外添加nrel_date_updated,因此它不会自动连接为字符串,但我在数据库中得到了相同的结果 - null。
任何想法我的问题是什么?
con = sqlite3.connect("../CCdb.sqlite3")
cur = con.cursor()
f = open('alt_fuel_stations.csv', 'rt')
try:
reader = csv.DictReader(f)
for row in reader:
keyString = ""
valString = ""
for key,value in row.iteritems():
keyString += key + ","
if (key != 'latitude' and key != 'longitude' and key != 'federal_agency_id'
and key != 'ev_dc_fast_num' and key != 'ev_level1_evse_num' and key != 'ev_level2_evse_num'):
valString += "'" + value + "',"
else:
if value=="":
valString += "null,";
else:
valString += value + ",";
print valString;
valString = valString[:-1];
keyString = keyString[:-1];
cur.execute("INSERT INTO chargecamp_station" +
"(" + keyString + ")" + "VALUES " +
"(" + valString + ");")
con.commit()
finally:
f.close()