Ruby:将文本附加到文件的第二行

2023-11-29

我正在编写的 Ruby 脚本将每天早上运行,并将提取有关备份文件的信息并将其写入 csv 文件。该文件的第一行有列名称。

我已经通过附加到文件末尾来使其工作:

open("#{curDir}/Backup_Times.csv", 'a') do |f|

        ...
end

我想先查看最新的数据,而不必在 Excel 中排序。

在 Ruby 中,有没有办法从文件的第二行开始写入这些数据?


您编写一个新文件,在所需的行应用更改,然后将结果重命名回原始文件名。以下方法将复制文件并将输出文件对象生成到正确行的块中,以便该块可以输出新行。

def insert_lines_following_line file, line_no
  tmp_fn = "#{file}.tmp"
  File.open( tmp_fn, 'w' ) do |outf|
    line_ct = 0
    IO.foreach(file) do |line|
      outf.print line
      yield(outf) if line_no == (line_ct += 1)
    end
  end
  File.rename tmp_fn, file
end

insert_lines_following_line( "#{curDir}/Backup_Times.csv", 1 ) do |outf|
  # output new csv lines in this block
  outf.puts ['foo','bar','baz',1,2,3].join(",") # or however you build your csv line
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby:将文本附加到文件的第二行 的相关文章

  • 如何在 PHP 中访问远程目录并复制文件

    我想从远程目录复制文件 但我不知道如何写它的UNC 我可以使用 file Server Production Images 在浏览器中打开该目录 但如果我只在 PHP 脚本中使用此路径 则无法工作 origin file Sever Pro
  • C++字符串解析思路

    我有另一个程序的输出 它更适合人类可读而不是机器可读 但无论如何我都会解析它 没什么太复杂的 然而 我想知道在 C 中执行此操作的最佳方法是什么 这更像是一个 一般实践 类型的问题 我研究了 Boost Spirit 甚至让它发挥了一些作用
  • 替换VBA中的变量字符串

    我需要替换字符串中的某些内容 但替换的内容可能会有所不同 有可能 XY test XXxY test XXyyXx TEST yXyy Test 以及几乎任何其他空格和上述情况的组合 我需要替换 test 部分并保留 XXX 所以 当使用简
  • 在environment.rb中设置的常量在开发模式下消失

    了解 Rails 缓存如何工作的人可以真正帮助我 这是嵌套在 Rails Initializer run 块内的代码 config after initialize do SomeClass const set SOME CONST SOM
  • 使用正则表达式检查至少 8 位数字的字符串

    我的正则表达式如下 d s 12 这将允许数字 空格 但我想确保字符串至少包含 8 位数字 一些允许的字符串如下 1323 24 233 24243434 43 43435 4554345 434 它不应该允许这样的字符串 1213 232
  • 在 C 中初始化字符串的正确方法

    我见过人们的代码为 char str NULL 我也看到过这个 char str 我想知道初始化字符串的正确方法是什么 你什么时候应该初始化一个带有 NULL 的字符串 你应该在使用它之前设置它 这是你唯一的规则have遵循以避免未定义的行
  • 将对象数组转换为 ActiveRecord::Relation

    我有一个对象数组 我们称其为Indicator 我想运行 Indicator 类方法 def self subjects该数组上的种类 范围等 我知道在一组对象上运行类方法的唯一方法是让它们成为 ActiveRecord Relation
  • 在 Python 中将 int 转换为字符串

    我希望能够生成多个名为 fileX txt 的文本文件 其中 X 是某个整数 for i in range key filename ME i txt Error here Can t concat a string and int fil
  • 有没有办法在 Nokogiri css 中转义非字母数字字符?

    我有一个锚标签 file html stuff morestuff CHP 1 SECT 2 1 尝试提取 Nokogiri 中引用的内容 documentFragment at css stuff morestuff CHP 1 SECT
  • Ruby IMAP 库:如何显示文件夹中的所有邮件?

    我需要一个脚本来获取所有文件夹中的所有电子邮件 并对其及其附件进行本地备份 here https www ombulabs com blog ruby imap a comprehensive guide to interacting wi
  • Rails 路由:向 root 添加(浅层)关注

    在我的routes rb中 我定义了一个问题 如下所示 concern namespaceable do resources comments do resources replies 现在 我可以将此问题添加到任何资源中 resource
  • 如何在 jQuery.ui.autocomplete 中的自动完成弹出窗口下方添加所有搜索的链接?

    我有使用 jQuery UI 自动完成插件的搜索建议自动完成功能 http jqueryui com autocomplete http jqueryui com autocomplete 但是如何添加结果弹出项目的底部 其行为类似于 Qu
  • 如何在 C# 中从字符串调用委托?

    是否可以通过变量名称 作为字符串 调用存储在变量中的委托 我想我必须使用反射机制 但我没有得到任何结果 示例代码 class Demo public delegate int DemoDelegate private static int
  • 如何在 Ubuntu 中使用 gems?

    我最近升级到 Ubuntu 9 04 但在使用 gems 时遇到问题 我使用 apt get 安装了 Ruby Rubygems 和 Rails 这rails命令确实有效 然后我安装了 capistrano 和其他 gem 例如 herok
  • 如何通过批处理文件将命令作为命令行参数传递

    我想将命令作为命令行参数从一个批处理文件传递到另一个批处理文件 e g 首先 bat call test bat echo hello world echo welcome 测试 bat set initialcommand 1 set m
  • 将子字符串从 char* 复制到 std::string 的优雅方法

    我有这个char char line This is a great day string subLine 我要那个subLine会包括 is a great 从第 5 处复制 接下来的 10 个字符 有没有办法做到这一点而不是转换char
  • Java 字符串哈希码缓存

    字符串不变性的优点之一是哈希码缓存以实现更快的访问 在这种情况下 如何处理具有相同哈希码的字符串的缓存 在这种情况下它真的能提高性能吗 在这种情况下 如何处理具有相同哈希码的字符串的缓存 被缓存的是字符串的哈希码 它被缓存在私有的int字符
  • 与其他格式相比,Apache Parquet 格式有哪些优缺点?

    Apache Parquet 的一些特性是 自我描述 柱状格式 独立于语言 与 Apache Avro 序列文件 RC 文件等相比 我想了解一下这些格式 我已经读过 Impala 如何使用 Hadoop 文件格式 https www clo
  • ActiveRecord::Enum - PG::InvalidTextRepresentation:错误:整数输入语法无效:

    我遇到了一个奇怪的错误 希望有人能指出我正确的方向 我有一个名为 组织 的模型和一个名为 组织 的属性department 请参阅下面的架构摘录 t integer department default 0 在我的模型内部已经定义了这个属性
  • 将用户输入转换为整数

    所以我有一个用户可以输入价格的表格 我正在尝试创建一个 before validation 来规范化数据 如果用户放置 则剪裁它 before validation do unless self price blank then self

随机推荐