Skip to content

Instantly share code, notes, and snippets.

@benevolent0505
Last active August 29, 2015 14:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save benevolent0505/e5da49ecd66b9881b521 to your computer and use it in GitHub Desktop.
Save benevolent0505/e5da49ecd66b9881b521 to your computer and use it in GitHub Desktop.
2014年度合宿用プログラム

2014年度合宿用スクリプト

2014年度の合宿参加者の集計に使ったプログラムの一覧。 コードの質はお察し下さい。 詳しく聞きたかったらbenevolent0505に連絡を。

first_members_to_csv.rb

第一回参加希望者の一覧を出力をしてくれるプログラム。

last_members_to_wiki.rb

名簿に記入した人一覧のWikiテキストを出力してくれるプログラム。

unanswered.rb

名簿に未記入な人の一覧を出力してくれるプログラム。

#第一回合宿募集者のcsvに落としこむ
require 'csv'
f = open('2014_members.txt')
CSV.open('2014_members.csv', 'wb') do |csv|
f.each do |line|
if /する/ =~ line then
if /:/ =~ line then
p $`.strip
csv << ["#{$`.strip}"]
end
end
end
end
f.close
#合宿参加者最終メンバーをwikiテキストに出力する
require 'csv'
file = File.open('members.txt', 'w')
header = "== 2014年度合宿参加者 ==
||'''名前'''||'''担当'''||'''煙火'''||
"
file << header
CSV.foreach('2014_members_last.csv') do |csv|
p csv
file.puts("||[[#{csv[0]}]]||#{csv[1]} ||#{csv[2]} ||")
end
file.close
# -*- coding: utf-8 -*-
#未回答者の掃き出しスクリプト
#誰かCSVの読み込みをメソッドにまとめて
require 'csv'
=begin
def read_and_push_csv(filename, array)
CSV.foreach(filename) do |csv|
array.push(csv[0])
p csv
end
end
=end
first = []
last = []
canceled = []
CSV.foreach('2014_members.csv') do |csv|
first.push(csv[0])
end
first.shift
CSV.foreach('2014_members_last.csv') do |csv|
last.push(csv[0])
end
CSV.foreach('canceled.csv') do |csv|
canceled.push(csv[0])
end
# read_and_push_csv(canceled.csv, canceled)
unanswered = (first - last) - canceled
CSV.open('unanswered.csv', 'wb') do |csv|
unanswered.each do |item|
csv << [item]
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment