diff --git a/mycgi/.htaccess b/mycgi/.htaccess index 333545d..d96b755 100644 --- a/mycgi/.htaccess +++ b/mycgi/.htaccess @@ -1,3 +1,3 @@ -AddHandler cgi-script .rb -Options +ExecCGI -AddType "text/html; charset=utf-8" .html +AddHandler cgi-script .rb +AddType "text/html; charset=utf-8" .rb +Options +ExecCGI \ No newline at end of file diff --git a/mycgi/.vscode/settings.json b/mycgi/.vscode/settings.json new file mode 100644 index 0000000..23fd35f --- /dev/null +++ b/mycgi/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.formatOnSave": true +} \ No newline at end of file diff --git a/mycgi/fi.rb b/mycgi/fi.rb index 235b9a2..6176aaa 100755 --- a/mycgi/fi.rb +++ b/mycgi/fi.rb @@ -4,8 +4,7 @@ require 'cgi' require 'sqlite3' #c = CGI.new(:accept_charset => "UTF-8") -c = CGI.new - +c = CGI.new(:accept_charset => "UTF-8") trash = c["gomi"] #データベース読み取り処理は全く同じ db = SQLite3::Database.new("gomi.db") @@ -25,4 +24,3 @@ puts(" ") - diff --git a/mycgi/gomi.csv b/mycgi/gomi.csv index ec4e80e..1c51df3 100644 --- a/mycgi/gomi.csv +++ b/mycgi/gomi.csv @@ -1,4 +1,5 @@ -アームスタンド,粗大ごみ, +品名,区分,備考 +アームスタンド,粗大ごみ, IHクッキングヒーター,資源物,大型のものは粗大ごみ アイスノン,可燃ごみ, アイスピック,埋立ごみ,運搬の際危険のないようにすること @@ -231,8 +232,8 @@ 碁石,埋立ごみ,プラスチック製のものは可燃ごみ、碁盤は粗大ごみ 鯉のぼり,粗大ごみ,一辺1m以内に切れば可燃ごみ 鯉のぼり支柱,粗大ごみ,1m以内に切る(木製の場合) -工具箱(家庭用・金属製),資源物, -工具箱(家庭用・プラスチック製),可燃ごみ, +工具箱(家庭用・金属製),資源物, +工具箱(家庭用・プラスチック製),可燃ごみ, コード(テーブルタップ),可燃ごみ,1m以内に切る場合は可燃ごみ、そのままは粗大ごみ コーヒーメーカー,埋立ごみ,大型のものは粗大ごみ コールタール,処理できません,購入店等に確認 @@ -395,11 +396,11 @@ ソファー,粗大ごみ, そり,粗大ごみ, そろばん,可燃ごみ, -体温計(ガラス・水銀入り),埋立ごみ,令和2年度4月より「水銀廃棄物回収」とする +体温計(ガラス・水銀入り),埋立ごみ,令和2年度4月より「水銀廃棄物回収」とする 体温計(デジタル式),小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は可燃ごみ 台車,粗大ごみ, 体重計,粗大ごみ, -耐熱金庫,処理できません,スクラップ処理業者に依頼 +耐熱金庫,処理できません,スクラップ処理業者に依頼 耐熱ガラス鍋,埋立ごみ, タイプライター,粗大ごみ, タイヤ(自転車用),粗大ごみ,個人のみ @@ -527,7 +528,7 @@ 農薬のびん,処理できません,購入店に確認 農業用支柱,粗大ごみ,一般家庭で使用したもので20cm未満に切ったものは資源物事業用途のものは処理できません のり缶,資源物, -バーべキュ—セット,粗大ごみ, +バーべキューセット,粗大ごみ, ハーモニカ(プラスチック製),可燃ごみ, ハーモニカ(金属製),資源物, バイク,処理できません,購入店に確認 diff --git a/mycgi/gomi.rb b/mycgi/gomi.rb index 1f3144f..31914cd 100755 --- a/mycgi/gomi.rb +++ b/mycgi/gomi.rb @@ -2,24 +2,36 @@ # coding: utf-8 Encoding.default_external = 'utf-8' # UTF-8のCSVファイルを読むため require 'cgi' +require 'csv' +require 'kakasi' require 'sqlite3' c = CGI.new(:accept_charset => "UTF-8") +csv = CSV.read("gomi.csv", headers:true) +db = SQLite3::Database.new("gomi.sq3") +db.execute_batch(<<~EOF) + DROP TABLE IF EXISTS gomi; + CREATE TABLE IF NOT EXISTS gomi(name text,type text,remark text,kana text,kata text,roma text); + BEGIN; + EOF +csv.each do |row| + values = row.collect{|x| x[-1]} + values << Kakasi.kakasi('-JH -KH',row["品名"]) # 酒田市 → さかたし + values << Kakasi.kakasi('-JK -HK',row["品名"]) # さかたし → サカタシ + values << Kakasi.kakasi('-Ja -Ha -Ka',row["品名"]) # さかたし → sakatashi + db.execute("INSERT INTO gomi VALUES(?,?,?,?,?,?)", *values) + trash = c["gomi"] + db.results_as_hash = true + result = db.execute("SELECT * FROM gomi where name||kana||kata||roma LIKE '%#{trash}%';") -trash = c["gomi"] -#データベース読み取り処理は全く同じ -db = SQLite3::Database.new("gomi.db") -db.results_as_hash = true -result = db.execute("SELECT * FROM gomi where name||remark LIKE '%#{trash}%';") -print("Content-type: text/html; charset=utf-8 - - - -検索結果 - - -") -result.each{|row| -printf("
品名 : 「%s」
ごみ区分 : 「%s」

備考 : %s
-------------------------------------------------------------------------------",row["name"], row["type"], row["remark"])} -puts(" - -") + print ("Content-type: text/html; charset=utf-8") + print (" + + 検索結果 + + ") + result.each{|row| + printf("
品名 : 「%s」
ごみ区分 : 「%s」

備考 : %s
-------------------------------------------------------------------------------",row["name"], row["type"], row["remark"])} + print "\n" +print "" +end +db.execute("END;") \ No newline at end of file diff --git a/mycgi/gomi.sq3 b/mycgi/gomi.sq3 index 8e2bb8d..697ab37 100644 --- a/mycgi/gomi.sq3 +++ b/mycgi/gomi.sq3 Binary files differ diff --git a/mycgi/gomi1.csv b/mycgi/gomi1.csv new file mode 100644 index 0000000..f7ed046 --- /dev/null +++ b/mycgi/gomi1.csv @@ -0,0 +1,532 @@ +品名,区分,備考 +アームスタンド,粗大ごみ, +IHクッキングヒーター,資源物,大型のものは粗大ごみ +アイスノン,可燃ごみ, +アイスピック,埋立ごみ,運搬の際危険のないようにすること +アイロン,埋立ごみ, +アイロン台,可燃ごみ,脚付きは粗大ごみ +アコーディオンカーテン,粗大ごみ,個人搬入のみ +アタッシュケース,粗大ごみ, +アダプター(電源用),小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は埋立ごみ +アノラック、雨合羽,可燃ごみ, +雨どい(プラスチック製),粗大ごみ,個人が解体した少量のみ。長さ20cm以内は可燃ごみ +油(機械用),処理できません,購入店等に確認 +油(食用・家庭用),可燃ごみ,固形化、布、紙に染み込ませること※酒田市・庄内町は廃食用油として回収 +油びん,資源物,中身を抜く +油容器(ガラス・金属製),資源物,中身を抜く +油容器(プラスチック),可燃ごみ,中身を抜く +金網(焼き物用・50cm未満),資源物, +編み機,粗大ごみ, +網戸,粗大ごみ,個人搬入のみ +編み針(金属製),埋立ごみ,運搬の際危険のないようにすること +編み針(竹・プラスチック製),可燃ごみ,運搬の際危険のないようにすること +編み棒(木・プラスチック製),可燃ごみ, +編み棒(金属製),埋立ごみ, +アルバム,可燃ごみ, +アルミ缶,資源物,軽く洗う +アルミサッシ,粗大ごみ,1回5枚程度 +アルミホイル(アルミ箔),可燃ごみ, +アルミホイール(自動車用),処理できません,購入店等に確認 +泡だて器(プラスチック製),可燃ごみ, +泡だて器(金属製),資源物, +泡立て器(電動式),埋立ごみ, +あんか,埋立ごみ,電気あんかは粗大ごみ +安全靴,埋立ごみ, +安全ピン,埋立ごみ,運搬の際危険のないようにすること +アンテナ,粗大ごみ,分解して袋にはいれば資源ごみ +アンプ,粗大ごみ, +石・砂利(少量),埋立ごみ, +衣装箱(プラスチック),粗大ごみ, +衣装箱(紙製),紙類資源,折りたたんでひもで結ぶ +移植べら(プラスチック製),可燃ごみ, +移植べら(金属製),資源物,柄が木・プラスチック製でも資源物 +椅子,粗大ごみ, +板(木製・プラスチック製),可燃ごみ,長さ20厚さ3を超えるものは粗大ごみ +板ガラス,埋立ごみ,運搬の際、危険の無いようにする +板戸,粗大ごみ,長さ1m未満×幅10cm未満のもの +一輪車(スポーツ用・作業用),粗大ごみ, +一升瓶,処理できません,販売店の店頭回収に出すようご協力ください。※リターナブル瓶以外は資源物 +一斗缶,粗大ごみ,中身を抜く +犬小屋,粗大ごみ, +医薬品のびん(農薬・劇薬を除く),資源物,中身を抜く +医薬品のプラ容器,可燃ごみ,中身を抜く +衣類,可燃ごみ, +衣類乾燥機,家電リサイクル法にて処理, +入れ歯,埋立ごみ, +インクリボン,店頭回収(可燃ごみ), +インテリア,粗大ごみ, +飲料用紙パック(牛乳・ジュース),紙類資源,販売店の店頭回収に出すようご協力ください +ウインドファン,粗大ごみ, +植木台,粗大ごみ, +植木鉢(陶器製),埋立ごみ, +植木鉢(プラスチック製),可燃ごみ, +浮き輪,可燃ごみ, +臼(うす)(木製),粗大ごみ,石製は埋立ごみ +ウッドデッキ,粗大ごみ,個人解体のみ。業者で解体したものは産業廃棄物。 +腕時計,埋立ごみ, +乳母車,粗大ごみ, +エアコン,家電リサイクル法にて処理, +エアゾール缶,資源物,※中身は必ず使いきって出す +エアロバイク(健康機器),粗大ごみ, +枝切りばさみ,埋立ごみ,大型のものは粗大ごみ +枝,可燃ごみ,直径3cm未満×長さ1m未満の枝を30cm以内にまとめる +枝,粗大ごみ,直径10cm未満×長さ1m未満のもの +絵の具,可燃ごみ, +MO・MD・CD(ケースを含む),可燃ごみ, +エレクトーン,粗大ごみ, +エンジンオイル,処理できません,購入店等に確認 +エンジン類,処理できません,購入店等に確認 +延長コード(室内用),可燃ごみ,1m以内に切る場合は可燃ごみ、そのままは粗大ごみ +煙突,粗大ごみ, +鉛筆削り機(プラスチック製),可燃ごみ,金属製は埋立ごみ +FRP,処理できません,産業廃棄物業者へ +オイル,処理できません,購入店等に確認 +オイルヒーター,処理できません,購入店等に確認 +応接セット,粗大ごみ,事業用途のものは処理できません +オートバイ,処理できません,購入店等に確認 +オーブントースター,資源物, +オーブンレンジ,粗大ごみ, +置時計,埋立ごみ,大型のものは粗大ごみ +落ち葉,可燃ごみ,土は落とす +斧,埋立ごみ, +お盆(木製・プラスチック製),可燃ごみ,一辺20cmを超えるものは粗大ごみ +お盆(金属製),資源物,一辺20cmを超えるものは粗大ごみ +おまる,粗大ごみ, +おもちゃ(プラスチック製),可燃ごみ,大型のものは粗大ごみ +おもちゃ(金属製),資源物,大型のものは粗大ごみ +オルガン,粗大ごみ, +温度計,埋立ごみ,令和2年度4月より「水銀廃棄物回収」とする +温風ヒーター,粗大ごみ,電池と灯油は抜く +折りたたみベッド,粗大ごみ, +カーテン,可燃ごみ,1m以内に切る そのままは粗大ごみ +カーテンレール,粗大ごみ, +カーナビ・カーステレオ,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は粗大ごみ +カーペット,粗大ごみ, +カーボン紙,可燃ごみ, +カーマット,可燃ごみ,1m以内に切る そのままは粗大ごみ +カーラー,可燃ごみ, +貝殻,可燃ごみ, +懐中電灯(金属製),小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は資源物 +懐中電灯(プラスチック製),小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は可燃ごみ +買い物カート,粗大ごみ, +カイロ(使い捨て),可燃ごみ, +カイロ(金属製),資源物, +鏡,埋立ごみ,※姿見は粗大ごみ +家具,粗大ごみ,事業用途のものは木製のみ +額縁(木製・プラ製で一辺20cm程度),可燃ごみ,一辺20cmを超えるものは粗大ごみ ガラスは埋立ごみ +額縁(金属製),資源物,一辺20cmを超えるものは粗大ごみ ガラスは埋立ごみ +学習机,粗大ごみ,事業用途のものは木製のみ +傘,埋立ごみ,分解する場合:ビニール部分は可燃ごみ、ほね部分は資源ごみ +傘立て(木製・金属製),粗大ごみ, +傘立て(陶磁器製),埋立ごみ,小さく砕いて 砕けないときは粗大ごみ +菓子缶(金属製),資源物, +加湿機,粗大ごみ, +菓子箱(紙製),紙類資源, +菓子袋(ビニール製),可燃ごみ, +ガスコンロ,粗大ごみ, +ガスストーブ,粗大ごみ, +ガス台,粗大ごみ, +ガスボンベ(LPG),処理できません,購入店等に確認 +ガス湯沸器,粗大ごみ, +ガスレンジ,粗大ごみ, +カセットコンロ,資源物,カセットボンベは取り外す +カセットデッキ,粗大ごみ, +カセットテープ,可燃ごみ, +カセットボンベ,資源物,※中身は必ず使いきって出す +ガソリン,処理できません,購入店等に確認 +カッターナイフ,埋立ごみ,運搬の際危険のないようにすること +カッターの刃,埋立ごみ,運搬の際危険のないようにすること +カップ麺の容器,可燃ごみ, +カタログ,紙類資源,各市町村で確認 +門松,可燃ごみ,大型のものは粗大ごみ +蚊取り器(陶磁器製),埋立ごみ, +蚊取り器(電気式・プラスチック製),可燃ごみ, +蚊取りマット,可燃ごみ, +かなづち,資源物, +カヌー,処理できません, +金たわし,埋立ごみ, +かばん,可燃ごみ,大型のものは粗大ごみ +画鋲,埋立ごみ,運搬の際危険のないようにすること +花瓶(プラスチック製),可燃ごみ,大型のものは粗大ごみ +花瓶(金属製),資源物,大型のものは粗大ごみ +花瓶(陶磁器・ガラス製),埋立ごみ, +壁掛け時計,粗大ごみ,※「埋立ごみ」から「粗大ごみ」へ変更 +壁紙,可燃ごみ,袋に入らないものは粗大ごみ  +鎌,埋立ごみ, +紙おむつ,可燃ごみ,汚物はトイレで処理する +かみそり,埋立ごみ,運搬の際危険のないようにすること +カメラ,埋立ごみ, +火薬,処理できません,購入店等に確認 +カラーボックス,粗大ごみ, +カラオケセット,粗大ごみ, +ガラス製食器,埋立ごみ, +ガラステーブル,粗大ごみ, +かわら,処理できません,1回で出す量が袋の1/3程度までであれば埋立ごみ。※「埋立ごみ」から「処理できません」へ変更 +換気扇(家庭用),粗大ごみ,※「埋立ごみ」から「粗大ごみ」へ変更 +缶切り器(金属製),資源物, +乾燥機(衣類),家電リサイクル法にて処理, +乾燥機(ふとん・食器),粗大ごみ, +乾燥剤,可燃ごみ, +缶詰の缶,資源物, +看板、標識,粗大ごみ,事業用途のものは木製のみ +キーボード(音楽用),粗大ごみ, +木くず,可燃ごみ, +ギター,粗大ごみ, +きね,粗大ごみ,うすも粗大ごみ +キャスター,粗大ごみ, +脚立,粗大ごみ, +キャップ(プラ製・金属製),可燃ごみ,飲料の金属製キャップ・ビール瓶や一升瓶の王冠 +キャップ(金属製),資源物,5cm以上の金属製キャップ +キャリーバック,粗大ごみ, +キャビネット,粗大ごみ, +キャリア(スキー用),粗大ごみ, +急須(金属製),資源物, +急須(陶磁器製),埋立ごみ, +給湯器(貯湯式のものを除く),粗大ごみ, +牛乳パック,紙類資源,販売店の店頭回収に出すようご協力ください +強化耐熱ガラス鍋,埋立ごみ, +鏡台,粗大ごみ, +漁業用具,処理できません,購入店等に確認 +きり,埋立ごみ,運搬の際危険のないようにすること +金魚鉢,埋立ごみ, +金庫(手提げ用),資源物, +金庫(耐火性),処理できません,購入店等に確認    +くい(木製),粗大ごみ,直径10cm未満×長さ1m未満のもの +空気清浄機,粗大ごみ, +釘,埋立ごみ,運搬の際危険のないようにすること +草刈り鎌,埋立ごみ,運搬の際危険のないようにすること +草刈り機(エンジン付),処理できません,購入店等に確認 +草花,可燃ごみ,土はできるだけいれない +串(竹製),可燃ごみ,運搬の際危険のないようにすること +串(金属製),埋立ごみ,運搬の際危険のないようにすること +くずかご(プラスチック製),可燃ごみ,大型のものは粗大ごみ +くずかご(金属製),資源物,大型のものは粗大ごみ +薬(家庭用常備薬など),可燃ごみ,ガラス容器、金属製容器は資源物 +口紅ケース,可燃ごみ, +靴(革・布・ゴム),可燃ごみ,安全靴は埋立ごみ +クッション(布製),可燃ごみ, +クーラーボックス,粗大ごみ, +クリスマスツリー,粗大ごみ,※「可燃ごみ」から「粗大ごみ」へ変更 +車いす,粗大ごみ, +車のシート,処理できません, +車の部品,処理できません,ハンドル、金具、ワイパーゴムは粗大ごみ +クレヨン,可燃ごみ, +グローブ(野球用),可燃ごみ, +蛍光管,埋立ごみ,令和2年度4月より「水銀廃棄物回収」とする +携行缶,粗大ごみ, +携帯電話,小型家電リサイクル回収,※ごみ処理施設では処理できません +計量ばかり(金属製),資源物,大型のものは粗大ごみ +計量ばかり(プラスチック製),埋立ごみ, +ゲージ(動物用),粗大ごみ, +ゲートボールスティック,粗大ごみ,※「可燃ごみ」から「粗大ごみ」へ変更 +ゲーム機本体(家庭用),小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は可燃ごみもしくは粗大ごみ +ゲームソフト,可燃ごみ, +化粧品の容器(プラスチック製),可燃ごみ, +化粧品の容器(ガラス製),資源物, +下駄箱,粗大ごみ, +血圧計,埋立ごみ,令和2年度4月より「水銀廃棄物回収」とする +玄関マット,可燃ごみ,金網製のものは粗大ごみ +健康機器・器具,粗大ごみ, +建築廃材,処理できません,個人が解体した少量のものは粗大ごみ +原チャリ(50cc以下),処理できません,購入店等に確認 +碁石,埋立ごみ,プラスチック製のものは可燃ごみ、碁盤は粗大ごみ +鯉のぼり,粗大ごみ,一辺1m以内に切れば可燃ごみ +鯉のぼり支柱,粗大ごみ,1m以内に切る(木製の場合) +工具箱(家庭用・金属製),資源物, +工具箱(家庭用・プラスチック製),可燃ごみ, +コード(テーブルタップ),可燃ごみ,1m以内に切る場合は可燃ごみ、そのままは粗大ごみ +コーヒーメーカー,埋立ごみ,大型のものは粗大ごみ +コールタール,処理できません,購入店等に確認 +黒板・ホワイトボード,可燃ごみ,大型のものは粗大ごみ +ござ,粗大ごみ, +こたつ,粗大ごみ, +こたつ板,粗大ごみ, +こたつ布団,粗大ごみ, +コップ(プラスチック製),可燃ごみ, +コップ(金属製),資源物, +コップ(ガラス製),埋立ごみ, +コピー機(家庭用),粗大ごみ,事業用途のものは処理できません +コピーのトナー,処理できません,購入店等に確認 +ゴム手袋,可燃ごみ, +米びつ(ハイザー),粗大ごみ, +小屋,粗大ごみ,1坪程度で個人が解体したものに限る ※釘は抜く +ゴルフボール,可燃ごみ, +ゴルフ用品,粗大ごみ, +コンクリート・石,処理できません,1回で出す量が袋の1/3程度までであれば埋立ごみ。※「埋立ごみ」から「処理できません」へ変更 +コンクリートブロック,埋立ごみ,1回で出す量は1個まで +コンテナボックス,粗大ごみ,事業用途のものは処理できません +コンテナボックス(農業用),処理できません,購入店等に確認 +コンパクト,可燃ごみ, +コンパネ,粗大ごみ,厚さ3cm程度まで。事業用途のものは処理できません +コンプレッサー,処理できません,購入店等に確認 +コンポ,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は粗大ごみ +コンポスト,粗大ごみ, +サーフボード,粗大ごみ, +座椅子,粗大ごみ, +裁断くず,可燃ごみ, +サイディング,処理できません,購入店等に確認 +サイドボード,粗大ごみ, +財布,可燃ごみ, +魚焼き器,資源物, +酒パック,可燃ごみ, +酒びん,資源物, +酒類のペットボトル容器,ペットボトル, +座敷ワゴン,粗大ごみ, +座卓,粗大ごみ, +サッシ戸,粗大ごみ, +雑誌,紙類資源,各市町村で確認 +雑紙(菓子箱、ボール紙),紙類資源, +座布団,粗大ごみ, +ざる(プラスチック製),可燃ごみ, +ざる(金属製),資源物, +三脚(カメラ用),粗大ごみ, +三輪車,粗大ごみ, +シェーバー,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は埋立ごみ +CD・MD・MO(ケース含む),可燃ごみ, +下着,可燃ごみ, +七輪,埋立ごみ, +湿布薬,可燃ごみ, +辞書・辞典・書籍,紙類資源, +自転車,粗大ごみ, +自転車用空気つめ,粗大ごみ, +自動車・部品・自動二輪車,処理できません,購入店等に確認 +芝刈り機,粗大ごみ,エンジン付きは処理できません +シャープペンシル,可燃ごみ, +ジャッキ(ハンドル式・油圧式),粗大ごみ, +シャベル,粗大ごみ, +シャベル(園芸用の金属製),資源物,柄が木・プラ製でも資源物 +シャンプーの容器,可燃ごみ, +ジューサーミキサー,埋立ごみ,大型のものは粗大ごみ +絨毯,粗大ごみ, +充電式電池,処理できません,購入店等に確認 +収納ケース,粗大ごみ, +樹脂製波板,粗大ごみ,個人使用のみ +樹脂袋,可燃ごみ,個人使用のみ +瞬間湯沸器(貯湯式のものを除く),粗大ごみ, +消火器,処理できません,購入店等に確認 +浄化槽タンク,処理できません,産業廃棄物処理 +定規(木・竹・プラスチック製),可燃ごみ, +定規(金属製),資源物, +焼却灰,埋立ごみ,事業により排出のものは処理できません +焼却炉,処理できません,各市町村へ確認 +ショーケース,処理できません,産業廃棄物処理 +浄水器(金属製),資源物, +浄水器(プラスチック製),可燃ごみ, +障子戸(3尺6尺),粗大ごみ, +焼酎のペットボトル容器,ペットボトル, +消毒用噴霧器,粗大ごみ,エンジン付き、事業用途のものは処理できません +照明器具,粗大ごみ,電球・蛍光管は埋立ごみ +消防ホース,粗大ごみ,市町村のみ +醤油のペットボトル容器,ペットボトル, +醤油びん,資源物, +ジョウロ(プラスチック製),可燃ごみ,大型のものは粗大ごみ +ジョウロ(金属製),資源物,大型のものは粗大ごみ +食卓テーブル,粗大ごみ, +食品トレイ,可燃ごみ,販売店の回収へ 汚れたものは可燃ごみ +食品保存びん,資源物, +食用油のプラスチック容器,可燃ごみ,金属製のふたは埋立ごみ +除湿機,粗大ごみ, +除湿剤,可燃ごみ,中の水分は流す +食器洗い機・乾燥機,粗大ごみ, +食器棚,粗大ごみ, +ショッピングカート,粗大ごみ, +人工芝,可燃ごみ,袋に入らなければ粗大ごみ +シンナー,処理できません,購入店等に確認 +CDプレイヤー,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は粗大ごみ +新聞紙,紙類資源, +水槽(ガラス製),粗大ごみ,小型のものは埋立ごみ +水槽(プラスチック製),粗大ごみ,小型のものは可燃ごみ +水筒(ステンレス製),資源物,魔法瓶は埋立ごみ +水筒(プラスチック製),可燃ごみ, +水道管(プラスチック),粗大ごみ,個人が解体した少量のみ。長さ20cm以内は可燃。 +炊飯器,粗大ごみ, +スーツケース,粗大ごみ, +スキー(靴とストック含む),粗大ごみ, +スケートボード,粗大ごみ, +スコップ,粗大ごみ, +すずり,埋立ごみ, +すだれ(簾),粗大ごみ, +スタンプ台,埋立ごみ, +スチール缶,資源物, +ステレオ(コンポーネント式・セパレート式),小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は粗大ごみ +ストーブ(ガス・石油・電気とも),粗大ごみ,灯油・電池は抜く (事業用は除く) +ストーブガード,粗大ごみ, +スノーダンプ,粗大ごみ, +スノーボード,粗大ごみ, +すのこ(木・プラスチック製),粗大ごみ,台所用品は可燃ごみ +スパイクシューズ,埋立ごみ, +スピーカー,粗大ごみ, +スプーン(木・プラスチック製),可燃ごみ, +スプーン(金属製),資源物, +スプリングベッドマット,粗大ごみ,個人搬入のみ +スプレー缶,資源物,※中身は必ず使いきって出す +滑り台,粗大ごみ,家庭用子供玩具のみ +炭,可燃ごみ, +砂(少量),埋立ごみ, +ズボンプレッサー,粗大ごみ, +スリッパ(皮・布・ビニール製),可燃ごみ, +精米機(家庭用),粗大ごみ, +清涼飲料のペットボトル容器,ペットボトル, +清涼飲料のプラスチック容器,可燃ごみ, +清涼飲料のガラスびん,資源物, +石油ストーブ,粗大ごみ,電池と灯油は抜く +石油ファンヒーター,粗大ごみ,大型のものは粗大ごみ +石油ポンプ(プラスチック製),可燃ごみ,大型のものは粗大ごみ +石油ポンプ(電池式),埋立ごみ,大型のものは粗大ごみ +石膏ボード,粗大ごみ,個人解体のみ +瀬戸物,埋立ごみ, +セメント,処理できません,購入店等に確認 +セロテープ台,埋立ごみ, +洗剤容器(紙製・プラスチック製),可燃ごみ, +洗濯かご(木製・プラスチック製),可燃ごみ,大型のものは粗大ごみ +洗濯機・乾燥機,家電リサイクル法にて処理, +洗濯ばさみ(プラスチック製),可燃ごみ, +洗濯ばさみ(金属製),埋立ごみ, +剪定枝,可燃ごみ, +栓抜き,資源物, +扇風機,粗大ごみ, +洗面器(プラスチック製),可燃ごみ, +洗面器(金属製),資源物, +洗面化粧台,粗大ごみ, +造花,可燃ごみ,大型のものは粗大ごみ +双眼鏡,埋立ごみ, +倉庫・物置,粗大ごみ,個人解体のみ ※プレハブ式のものは処理できません +掃除機,粗大ごみ, +ソースのプラスチック容器,可燃ごみ, +ソファー,粗大ごみ, +そり,粗大ごみ, +そろばん,可燃ごみ, +体温計(ガラス・水銀入り),埋立ごみ,令和2年度4月より「水銀廃棄物回収」とする +体温計(デジタル式),小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は可燃ごみ +台車,粗大ごみ, +体重計,粗大ごみ, +耐熱金庫,処理できません,スクラップ処理業者に依頼 +耐熱ガラス鍋,埋立ごみ, +タイプライター,粗大ごみ, +タイヤ(自転車用),粗大ごみ,個人のみ +タイヤ(自転車以外),処理できません,購入店等に確認 +タイヤホイール,処理できません, +タイヤホイールキャップ,粗大ごみ, +タオルケット,粗大ごみ,一辺1m以内に切れば可燃ごみ +高枝ばさみ,粗大ごみ,※「埋立ごみ」から「粗大ごみ」へ変更 +タキロン,粗大ごみ, +畳,粗大ごみ,一度に15枚程度目安 +脱臭剤,可燃ごみ, +卓球台,粗大ごみ, +タッパー(台所用品),可燃ごみ, +卵のパック,可燃ごみ, +たらい,粗大ごみ, +たわし,可燃ごみ, +たわし(金属製),埋立ごみ, +タンス,粗大ごみ, +断熱材(建築用),処理できません,産業廃棄物として処理  +ダンベル,粗大ごみ,プラスチック製は可燃ごみ +段ボール,紙類資源,汚れたものは可燃ごみ +チェーン,粗大ごみ, +チェスト(整理タンス),粗大ごみ, +地球儀,粗大ごみ,小型プラスチック製は可燃ごみ +チャイルドシート,粗大ごみ, +茶箱(木製),粗大ごみ, +中華鍋,資源物, +注射針,処理できません,病院・販売店等に確認 +調味料のびん,資源物, +調理台,粗大ごみ,個人解体のみ +チラシ,紙類資源, +つえ(金属製),資源物, +つえ(木・竹製),可燃ごみ, +使い捨てカイロ,可燃ごみ, +使い捨てライター,埋立ごみ,※中身は必ず使いきって出す +机,粗大ごみ, +漬物石(市販されているもの),埋立ごみ, +漬物桶,可燃ごみ,大型のものは粗大ごみ +釣り糸,可燃ごみ,細かく切断 +釣り竿,粗大ごみ, +釣針,埋立ごみ, +つぼ・かめ,埋立ごみ,大型のものは粗大ごみ +土(少量),埋立ごみ, +DVD(ケース含む),可燃ごみ, +テーブル,粗大ごみ, +デジタルカメラ,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は埋立ごみ +デジタル体温計,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は可燃ごみ +デジタルビデオカメラ,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は埋立ごみ +デスクマット,可燃ごみ, +鉄・鉄筋・鉄板(鉄くずを含む),粗大ごみ,個人使用のみ +デッキブラシ,粗大ごみ,※「可燃ごみ」から「粗大ごみ」へ変更 +テレビ(ブラウン管式・液晶式),家電リサイクル法にて処理, +テレビアンテナ,粗大ごみ, +テレビゲーム機,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は可燃ごみもしくは粗大ごみ +テレビ台,粗大ごみ, +電気あんか,粗大ごみ, +電気温水器,処理できません,購入店に確認 +電気カーペット,粗大ごみ, +電気かみそり,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は埋立ごみ +電気コード,可燃ごみ,1m以内に切る場合は可燃ごみ、そのままは粗大ごみ +電気こたつ,粗大ごみ, +電気炊飯ジャー,粗大ごみ, +電気スタンド,粗大ごみ, +電気ストーブ,粗大ごみ, +電気ドラム,粗大ごみ, +電気ポット,資源物, +電気毛布,粗大ごみ, +電球,埋立ごみ, +電子オルガン,粗大ごみ, +電子ピアノ,粗大ごみ,弦があるものは処理できませんシンセサイザー、エレクトーンは粗大ごみ +電子レンジ,粗大ごみ, +電磁調理器,粗大ごみ, +天体望遠鏡,粗大ごみ, +電卓,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は埋立ごみ +電池(乾電池),埋立ごみ,令和2年度4月より「水銀廃棄物回収」とする +電池(ニッカド・ボタン・充電式),処理できません,購入店に確認 +テント(家庭用),粗大ごみ, +電動アシスト付自転車,粗大ごみ,バッテリーは購入店へ +電動かんな・のこぎり,粗大ごみ, +電動式ミシン,粗大ごみ, +電動自転車,粗大ごみ, +電話機,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は埋立ごみファクシミリ一体型は粗大ごみ +トイレコーナー(プラスチック製),可燃ごみ, +トイレコーナー(ホーロー引き),資源物, +陶磁器製品,埋立ごみ,大型のものは粗大ごみ +動物,※直接持込み《2,200円》,犬、猫、小動物は専用焼却炉にて処理 骨は拾えません +籐製品(家具を含む),粗大ごみ,小型のものは可燃ごみ +灯油,処理できません,購入店に確認 +灯油タンク(490Lまで),粗大ごみ,中身をきれいに抜いて +灯籠(とうろう),処理できません, +トースター,資源物, +トタン板,粗大ごみ,長さ1m未満×幅30cm未満のもの +土鍋,埋立ごみ, +ドライバー(家庭工具用),資源物, +ドライヤー,小型家電リサイクル回収,小型家電リサイクル回収の対象でない場合は埋立ごみ +ドラム缶,処理できません,購入店に確認 +鳥かご,粗大ごみ, +塗料(中身),処理できません,購入店に確認 +ドリンクのびん,資源物,ふたは可燃ごみ +戸類,粗大ごみ, +トレイ類(食品用),可燃ごみ,販売店の回収へ +ドレッシングのびん,資源物,ふたは可燃ごみ +トロフィー,埋立ごみ,大型のものは粗大ごみ +ドレッサー(姿見),粗大ごみ, +ナイフ類,埋立ごみ,運搬の際危険のないようにすること +内壁材,粗大ごみ,個人解体のみ +苗箱(プラスチック製),処理できません,産業廃棄物業者へ +長木(囲い用),粗大ごみ,1m以内に切る +流し台,粗大ごみ, +流しのコーナー(プラスチック製),可燃ごみ, +流しのコーナー(金属製),資源物, +ナット,埋立ごみ, +鍋(金属製・ホーロー製),資源物, +生ごみ,可燃ごみ,よく水切りしてから捨てる +二段ベッド,粗大ごみ, +人形ケース,粗大ごみ,分解可能な場合:木製・プラスチック→可燃、ガラス→埋立 +ぬいぐるみ,可燃ごみ, +縫い針,埋立ごみ,運搬の際危険のないようにすること +ねじ,埋立ごみ, +ネット,可燃ごみ,1m以内に切る +粘土(教材用),可燃ごみ, +農機具,処理できません,購入店に確認 +農業用廃プラスチック・ビニール,処理できません,購入店に確認 農協、産業廃棄物業者で回収 +農薬,処理できません,購入店に確認 +農薬のびん,処理できません,購入店に確認 +農業用支柱,粗大ごみ,一般家庭で使用したもので20cm未満に切ったものは資源物事業用途のものは処理できません +のり缶,資源物, + + diff --git a/mycgi/gomi1.rb b/mycgi/gomi1.rb new file mode 100755 index 0000000..24e4b3b --- /dev/null +++ b/mycgi/gomi1.rb @@ -0,0 +1,44 @@ +#!/usr/bin/env ruby +# coding: utf-8 +Encoding.default_external = 'utf-8' # UTF-8のCSVファイルを読むため +require 'cgi' +require 'csv' +require 'kakasi' +require 'sqlite3' +c = CGI.new(:accept_charset => "UTF-8") +csv = CSV.read("gomi.csv", headers:true) +db = SQLite3::Database.new("gomi.sq3") +db.execute_batch(<<~EOF) + DROP TABLE IF EXISTS gomi; + CREATE TABLE IF NOT EXISTS gomi(name text,type text,remark text,kana text,kata text,roma text); + BEGIN; + EOF +csv.each do |row| + values = row.collect{|x| x[-1]} + values << Kakasi.kakasi('-JH -KH',row["品名"]) # 酒田市 → さかたし + values << Kakasi.kakasi('-JK -HK',row["品名"]) # さかたし → サカタシ + values << Kakasi.kakasi('-Ja -Ha -Ka',row["品名"]) # さかたし → sakatashi + db.execute("INSERT INTO gomi VALUES(?,?,?,?,?,?)", *values) +# trash = c["gomi"] + + db.results_as_hash = true + result = db.execute("SELECT * FROM gomi where name||kana||kata||roma LIKE '%テツ%';") +# puts result +result.each{|row| + printf("品名 :「%s」ごみ区分 :「%s」備考 : %s",row["name"], row["type"], row["remark"])} + + print("Content-type: text/html; charset=utf-8 + + + 検索結果 + + + ") + puts result + # result.each{|row| + # printf("
品名 : 「%s」
ごみ区分 : 「%s」

備考 : %s
-------------------------------------------------------------------------------",row["name"], row["type"], row["remark"])} + puts(" + + ") +end +db.execute("END;") \ No newline at end of file diff --git a/mycgi/gomi1.sq3 b/mycgi/gomi1.sq3 new file mode 100644 index 0000000..9828fae --- /dev/null +++ b/mycgi/gomi1.sq3 Binary files differ diff --git a/mycgi/mycgi b/mycgi/mycgi new file mode 100644 index 0000000..fefd215 --- /dev/null +++ b/mycgi/mycgi @@ -0,0 +1,23 @@ +#!/usr/bin/env ruby +require 'csv' +require 'kakasi' +require 'sqlite3' + +# 区分,よみ,人口,面積,人口密度 -> 区分,よみ,人口,面積,人口密度,ヨミ,yomi + +csv = CSV.read("yamagata-2022.csv", headers:true) +db = SQLite3::Database.new("yamagata.sq3") +db.execute_batch(<<~EOF) + DROP TABLE IF EXISTS yamagata; + CREATE TABLE yamagata(kubun, yomi, pops, area, dens, katakana, ascii); + BEGIN; + EOF +csv.each do |row| + values = row.collect{|x| x[-1]} + #print "#{values}\n" + values << Kakasi.kakasi('-HK', row["よみ"]) # さかたし → サカタシ + values << Kakasi.kakasi('-Ha', row["よみ"]) # さかたし → sakatashi + values << Kakasi.kakasi('-Ha', row["よみ"]) # さかたし → sakatashi + db.execute("INSERT INTO yamagata VALUES(?,?,?,?,?,?,?)", *values) +end +db.execute("END;") diff --git a/mycgi/tmpdb/.htaccess b/mycgi/tmpdb/.htaccess new file mode 100644 index 0000000..aaf92a4 --- /dev/null +++ b/mycgi/tmpdb/.htaccess @@ -0,0 +1,4 @@ + + Order deny,allow + Deny from all + diff --git a/mycgi/tmpdb/gomi.sq3 b/mycgi/tmpdb/gomi.sq3 new file mode 100644 index 0000000..0b9015f --- /dev/null +++ b/mycgi/tmpdb/gomi.sq3 Binary files differ diff --git a/mycgi/yamagata.rb b/mycgi/yamagata.rb index fefd215..e452588 100644 --- a/mycgi/yamagata.rb +++ b/mycgi/yamagata.rb @@ -10,14 +10,15 @@ db.execute_batch(<<~EOF) DROP TABLE IF EXISTS yamagata; CREATE TABLE yamagata(kubun, yomi, pops, area, dens, katakana, ascii); - BEGIN; + BEGIN; EOF + csv.each do |row| values = row.collect{|x| x[-1]} - #print "#{values}\n" values << Kakasi.kakasi('-HK', row["よみ"]) # さかたし → サカタシ values << Kakasi.kakasi('-Ha', row["よみ"]) # さかたし → sakatashi - values << Kakasi.kakasi('-Ha', row["よみ"]) # さかたし → sakatashi db.execute("INSERT INTO yamagata VALUES(?,?,?,?,?,?,?)", *values) + p row end + db.execute("END;") diff --git a/mycgi/yamagata.sq3 b/mycgi/yamagata.sq3 index c04653d..6f91feb 100644 --- a/mycgi/yamagata.sq3 +++ b/mycgi/yamagata.sq3 Binary files differ