0

到目前为止,我已经将整个文件加载到一个数组中(每个数组元素 1 行)。然后我学会了如何搜索所需的正确行。现在我需要拆分这些行以便我可以使用数据。

1个数组元素(文件中的1行):数据,数据,数据,数据,数据

第一个数据列是文本,其他是数字。我如何从这里将这些数据拆分成一些东西,这样我就可以只对其中一列或加 2 列进行数学运算,等等?

作为一个次要说明。我有一个包含数千行的文件。但我一次选择 20 个元素。所以我需要对彼此相邻的 20 个元素执行此操作。所以数组 [56],57,58 等。

所以我可以在第 1 行第 2 列 - 第 3 行第 4 列上进行数学运算。等等。(如果这是在 excel 中设置的,它会是这样的 - 但你明白了 - 但只要我知道如何获取个人数据,它就可以以任何方式设置)

提前致谢。

4

2 回答 2

1

您可以只使用String::split

"1,2,3,4,a,b,c,d".split(',')         #=> ["1", "2", "3", "4", "a", "b", "c", "d"]

然后,您可以根据需要将数组元素转换为整数或浮点数,如

str = "1,2,3,4,a,b,c,d"
arr = str.split(",")

i = arr[0].to_i
f = arr[1].to_f

此外,如果您正在处理 CSV 文件,您可能会考虑使用Ruby 的 CSV 库

于 2012-08-14T13:29:50.423 回答
1

您描述的文件结构类似于csv文件。要在 ruby​​ 中解析 csv 文件,您可以使用惊喜... CSV 库,它是 ruby​​ 标准库的一部分。

require 'CSV'
data = CSV.read(path_to_your_csv_file)

现在,您已加载数据。每次可以使用时迭代大块each_cons

data.each_cons(20) do |rows| 
  #do something
end
于 2012-08-14T13:31:33.153 回答