使用Ruby CSV更改特定列的标题
CSV标头可以使用使用Ruby CSV更改特定列的标题,ruby,csv,Ruby,Csv,CSV标头可以使用标头\u转换器和lambda表达式进行转换,如“”所示。然而,有没有一种方法可以明确地只转换第一列,而不改变其他列 例如,假设我的头是 <random string>, head1, head2, headN 我没有在示例中发现这一点,只是在。转换器接收可选的第二个参数。根据,这是一个结构,包含索引、行和标题: 索引:该行中字段的从零开始的索引 行:此行来自的数据源的行 标题:列的标题(如果可用) 例如,这将第一个标题转换为“time”,其他标题保持不变: C
标头\u转换器
和lambda表达式进行转换,如“”所示。然而,有没有一种方法可以明确地只转换第一列,而不改变其他列
例如,假设我的头是
<random string>, head1, head2, headN
我没有在示例中发现这一点,只是在。转换器接收可选的第二个参数。根据,这是一个
结构
,包含索引
、行
和标题
:
:该行中字段的从零开始的索引索引
:此行来自的数据源的行行
:列的标题(如果可用)标题
“time”
,其他标题保持不变:
CSV.new(f, header_converters: lambda{|h, field_info| field_info.index == 0 ? "time" : h })
我没有在示例中发现这一点,只是在。转换器接收可选的第二个参数。根据,这是一个
结构
,包含索引
、行
和标题
:
:该行中字段的从零开始的索引索引
:此行来自的数据源的行行
:列的标题(如果可用)标题
“time”
,其他标题保持不变:
CSV.new(f, header_converters: lambda{|h, field_info| field_info.index == 0 ? "time" : h })
如果您提供了输入CSV和预期输出CSV的示例,而不是让人们去阅读另一个问题,则会更好。如果您提供了输入CSV和预期输出CSV的示例,而不是让人们去阅读另一个问题,则会更好。