gpt4 book ai didi

Ruby - 从 csv 文件中删除列并转换为管道分隔的 txt 文件

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:51 25 4
gpt4 key购买 nike

我正在尝试获取一个 CSV 文件,去除几列,然后输出一个竖线分隔的文本文件。

这是我的代码,几乎可以正常工作。唯一的问题是 CSV.generate block 在整个内容周围添加了双引号,并在换行符周围添加了一个带有双引号的随机逗号。

require 'csv'

original = CSV.read('original.csv', { headers: true, return_headers: true })

original.delete('Column header 1')
original.delete('Column header 2')
original.delete('Column header 3')

csv_string = CSV.generate do |csv|
csv << original
end

pipe_string = csv_string.tr(",","|")

File.open('output.txt', 'w+') do |f|
f.write(pipe_string)
end

有更好的方法吗?感谢您的帮助。

最佳答案

试试这个:

require 'csv'

original = CSV.read('original.csv', { headers: true, return_headers: true })

original.delete('Column header 1')
original.delete('Column header 2')
original.delete('Column header 3')

CSV.open('output.txt', 'w', col_sep: '|') do |csv|
original.each do |row|
csv << row
end
end

关于Ruby - 从 csv 文件中删除列并转换为管道分隔的 txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14017342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com