|
#!/usr/bin/ruby -Ku # encoding: utf-8 require 'amalgalite' require 'fileutils'
class Csv_to_db def initialize(db_name, csv_name) db_file = "#{db_name}.db" FileUtils.rm(db_file) if File.exist?(db_file) # start with a clean slate my_db=Amalgalite::Database.new(db_file) csv_rows = File.read("#{csv_name}", :encoding => "utf-8").split("\n") col_names = csv_rows[0].split(',') col_names_types= col_names.map do |col| col + ' char(1)' end sql_create = "create table ctr_map(%s)" % col_names_types.join(', ') my_db.execute(sql_create) stmt = csv_rows[1..-1].map do |x| "insert into ctr_map (%s) values (%s)" % [col_names.join(', '), x] end stmt.each do |row_insert| my_db.execute(row_insert) end puts "ok" end end
db_name = "ctr_map" csv_name = "chinese_map.csv" Csv_to_db.new(db_name,csv_name)
|
lala
inser into sqlite3 db
|
def save_to_db str = self.gsub(/,/,"\",\"").gsub(/^/,"\"").gsub(/$/,"\"") my_db=Amalgalite::Database.new(@@gsp_db) stmt = my_db.execute("select * from gsp_corpus where word = ?", "#{self.split(',')[0]}") if !(stmt.any?) insert_stmt = "insert into gsp_corpus (%s) values (%s)" % [@@field_name.split.join(','), str] end my_db.execute(insert_stmt) my_db.close end
#str = "教育部,gs"
|
igogo 發表在
痞客邦
留言(0)
人氣(
68
)
請先 登入 以發表留言。