【问题标题】:Batch extracting lines from text files to one CSV将文本文件中的行批量提取到一个 CSV
【发布时间】:2011-10-20 22:16:28
【问题描述】:

所以我有一个非常简单的问题,但我有点智障,所以需要一些帮助!

我需要一个执行以下操作的命令行批处理文件:

我有 5,000 个文本文件,它们都具有相同的结构(即每一行上的相同字段),但数据不同。我想从第 3 行和第 5 行批量提取所有文件的数据,并将其放入一个简单的 CSV 文件中,该 CSV 文件也标记了文件名。

例如,文本文件(标记为 1.txt 到 5000.txt)如下所示:

[data on line 1]
[data on line 2]
[data on line 3]
[data on line 4]
[data on line 5]
[data on line 6]

我想要的 CSV 输出是这样的:

[Filename 1.txt],[Data from line 3],[Data from line 5]
[Filename 2.txt],[Data from line 3],[Data from line 5]

等等……

[Filename 5000.txt],[Data from line 3],[Data from line 5]

有什么想法吗?

【问题讨论】:

标签: text csv batch-file command


【解决方案1】:

有一个名为 LogParser 的免费 Microsoft 工具,可让您使用 SQL 从与查询匹配的文本行中的指定列返回数据,但您希望返回指定的行,而不是列。

在 MS-DOS 中曾经有一个名为 EDLIN 的行编辑器。它在 Windows 7 的命令窗口中仍然可用。可以在批处理文件中使用它来提取所需的行。

祝你好运!

【讨论】:

    【解决方案2】:

    或者也许在 VBA 中使用 MS Excel 中的文件系统对象?

    如果您不喜欢编程,您可以研究一下键盘宏记录器。通常你点击“记录”并为一个文件手动完成,Alt+Tab;向下箭头到下一个文件并点击“停止”。然后将宏分配给组合键。反复敲击组合键。将一次做一个文件。对于 5,000 个文件,您可能会发现 5,000 次击键比在不熟悉的环境中学习一种陌生的编程语言更容易。

    我不认为您在文本文件中有行号?即第 1 行以“1”等开头,这将使生活变得更加轻松(参见上面的 LogParser)。可能有一些东西可以将行号添加到现有文件中?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 2017-01-12
      相关资源
      最近更新 更多