用rb写代码,读取.csv文件中第B列的第2行至第14行,并将结果输出到.txt文件
时间: 2024-11-15 16:22:25 浏览: 2
在Ruby中,你可以使用内置的CSV库来读取.csv文件,然后使用`slice`或切片操作来选择特定行,最后将数据写入.txt文件。下面是一个示例代码:
```ruby
require 'csv'
# 读取.csv文件并指定范围(从第2行到第14行)
rows = CSV.read('input.csv', headers: true, skip_blanks: true).slice(1..13)
# 确保目标目录存在,如果不存在创建
output_dir = File.dirname('output.txt')
Dir.mkdir(output_dir) unless Dir.exist?(output_dir)
# 将数据写入.txt文件
File.open('output.txt', 'w') do |file|
rows.each_with_index do |row, index|
file.puts "行#{index+1}: #{row.to_h.values.join(', ')}" # 如果你的数据包含headers,可以使用row['B']替换'B'
end
end
相关问题
python 读取csv到数组
Python可以使用pandas和numpy库来读取csv文件到数组中。其中,pandas库中的read_csv()函数可以直接读取csv文件并将其转换为DataFrame格式,而numpy库中的loadtxt()函数可以将csv文件读取为numpy数组。下面是两种方法的示例代码:
1. 使用pandas库读取csv文件到数组中:
data=pd.read_csv("F:\PythonFiles\PycharmFile\ex14PermutationCombination_DataIn.csv",header=None)
2. 使用numpy库读取csv文件到数组中:
list = numpy.loadtxt(open("F:\PythonFiles\PycharmFile\ex14PermutationCombination_DataIn.csv","rb"),delimiter=",",skiprows=0)
另外,需要注意的是,pandas库中的read_csv()函数默认将第一行作为列名,如果csv文件没有列名,则需要将header参数设置为None。而numpy库中的loadtxt()函数则需要指定分隔符和跳过的行数等参数。如果csv文件中包含文本字符,则pandas库可以按照文本字符进行运算,而numpy库则需要将文本字符转换为数字后再进行运算。
阅读全文