表 hly_temp_normal
CREATE TABLE hly_temp_normal ( id int NOT NULL PRIMARY KEY AUTO_INCREMENT, stnid char(11), month tinyint, day tinyint, value1 VARCHAR(5), value2 VARCHAR(5), value3 VARCHAR(5), value4 VARCHAR(5), value5 VARCHAR(5), value6 VARCHAR(5), value7 VARCHAR(5), value8 VARCHAR(5), value9 VARCHAR(5), value10 VARCHAR(5), value11 VARCHAR(5), value12 VARCHAR(5), value13 VARCHAR(5), value14 VARCHAR(5), value15 VARCHAR(5), value16 VARCHAR(5), value17 VARCHAR(5), value18 VARCHAR(5), value19 VARCHAR(5), value20 VARCHAR(5), value21 VARCHAR(5), value22 VARCHAR(5), value23 VARCHAR(5), value24 VARCHAR(5) );
下载数据集
https://www1.ncdc.noaa.gov/pub/data/normals/1981-2010/products/hourly/hly-temp-normal.txt
insert_hly.py
1 #!/usr/bin/python 2 3 import MySQLdb 4 from optparse import OptionParser 5 6 parser = OptionParser() 7 parser.add_option("-f", "--file", dest="filename", 8 help="FILE contains data to be inserted", metavar="FILE") 9 parser.add_option("-t", "--table", dest="tablename", 10 help="TABLE to be inserted", metavar="TABLE") 11 (options, args) = parser.parse_args() 12 13 if not options.filename: # if filename is not given 14 parser.error(‘Filename not given‘) 15 16 if not options.tablename: # if table is not given 17 parser.error(‘Tablename not given‘) 18 19 filename = options.filename 20 table = options.tablename 21 22 conn = MySQLdb.connect (host = "db_host", 23 user = "db_user", 24 passwd = "db_password", 25 db = "db_database") 26 27 sql = "insert into " + table + " values ( NULL, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s )" 28 29 cursor = conn.cursor () 30 31 f = open(filename, "r") 32 for line in f: 33 stationid = line[0:11].strip() 34 month = int(line[12:14].strip()) 35 day = int(line[15:17].strip()) 36 value1 = line[18:24].strip() 37 value2 = line[25:31].strip() 38 value3 = line[32:38].strip() 39 value4 = line[39:45].strip() 40 value5 = line[46:52].strip() 41 value6 = line[53:59].strip() 42 value7 = line[60:66].strip() 43 value8 = line[67:73].strip() 44 value9 = line[74:80].strip() 45 value10 = line[81:87].strip() 46 value11 = line[88:94].strip() 47 value12 = line[95:101].strip() 48 value13 = line[102:108].strip() 49 value14 = line[109:115].strip() 50 value15 = line[116:122].strip() 51 value16 = line[123:129].strip() 52 value17 = line[130:136].strip() 53 value18 = line[137:143].strip() 54 value19 = line[144:150].strip() 55 value20 = line[151:157].strip() 56 value21 = line[158:164].strip() 57 value22 = line[165:171].strip() 58 value23 = line[172:178].strip() 59 value24 = line[179:185].strip() 60 61 # print sql % (table, stationid, month, day, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22, value23, value24) 62 cursor.execute (sql, (stationid, month, day, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22, value23, value24)) 63 64 65 f.close() 66 cursor.close () 67 conn.close ()View
shell加载数据
python insert_hly.py -f hly-temp-normal.txt -t hly_temp_normal
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did171919