Ruby和Excel数据提取

我正在学习Ruby,并试图操纵Excel数据。

我的目标:

为了能够从excel文件中提取电子邮件地址,并将它们放在每行一个文本文件中,并在最后添加一个逗号。

我的想法:

我想我的答案在于使用电子表格和File.new。

我正在寻找的是方向。 我想听听任何提示或者提示,以实现我的目标。 谢谢

请不要发表确切的代码只找方向想自己弄清楚… … –

谢谢,凯伦

更新::

所以,正则expression式似乎能够find所有匹配的string,并将它们存储到一个数组中。 我有一些麻烦设置了,但应该能够弄清楚….但现在开始我将只提取标有“E邮件”列…..我现在的问题是:

`parse_csv = CSV.parse(read_csv, :headers => true)` 

skip_blanks的默认值设置为false ..我需要将它设置为true,但是我找不到这样做的正确语法…我假装

 `parse_csv = CSV.parse(read_csv, :headers => true :skip_blanks => true)` 

但不是…..

将你的excel文件保存为csv(逗号分隔值),并使用Ruby的库

除了spreadsheet (可以读写)之外,还可以使用RemoteTable读取Excel和其他文件types。

 gem install remote_table 

 require 'remote_table' t = RemoteTable.new('/path/to/file.xlsx', headers: :first_row) 

当你写CSV时,就像@ aug2uag所说,你可以使用ruby的标准库(不需要安装gem):

 require 'csv' puts [name, email].to_csv 

就个人而言,我会保持尽可能简单,并使用CSV

这是一个如何工作的伪代码:

 read in your file line by line extract your fields using regex, or cell count (depending on how consistent the email address location is), and insert into an arry iterate through the array and write the values in the fashion you wish (to console, or file) 

在你的评论中的代码是一个很好的开始,但是,只会写入控制台,而不是文件。 你还需要弄清楚你将如何知道你正在得到的电子邮件地址。

希望这可以帮助。