【发布时间】:2018-02-19 02:02:48
【问题描述】:
我一直在开发一个程序,它可以读取 CSV excel 文件并过滤要通过短信发送的信息。目前,该程序只能通过短信发送一行过滤信息。应该修改什么以便能够逐行单独发送?
当前代码在第 1 列和第 2 列搜索“中”和“2”。它将发送第 0 列和第 4 列。因此结果将是“DT3/SIG,”修复 Windows” 但它不会发出第 5 行 - “90430/RSO”、“维修灯”
require 'rubygems'
require 'twilio-ruby'
require "csv"
def load_alarms
CSV.read 'alarms.csv', {col_sep: ';'}
end
def filter_by_event_type_and_severity(alarms, event_type, severity)
alarms.select do |alarm|
alarm[1] == event_type && alarm[2].to_i == severity.to_i
end
end
target_alarms = filter_by_event_type_and_severity(
load_alarms, 'medium', 2)
equipments = target_alarms.map { |alarm| [alarm[0], alarm[3]] }
p equipments
account_sid = 'ACCOUNT_ID'
auth_token = 'AUTH_TOKEN'
client = Twilio::REST::Client.new account_sid, auth_token
client.api.account.messages.create(
from: 'SENDER_PHONE',
to: 'TARGET_PHONE',
body: equipments
)
【问题讨论】:
-
您应该遍历
equipments并使用client.api.account.messages.create发送每个...类似于:equipments.each do |equipment| ...client.api.account.messages.create... end -
抱歉,我实际上对编程很陌生,我不确定你会如何构建它,你能写一个示例代码吗?谢谢
-
好的,会在几分钟内完成 :)