【问题标题】:Outputting .csv rows to a series of text files将 .csv 行输出到一系列文本文件
【发布时间】:2015-07-08 15:41:28
【问题描述】:

如何将 .csv 行输出到一系列单独的文本文件?

我看到了这个链接,方法应该是类似的.. Outputting Excel rows to a series of text files

任何人都可以帮助我了解步骤以及我是否应该使用 excel 并建议步骤,以实现链接或其他方式中的上述结果。提前谢谢...

【问题讨论】:

  • 您能否进一步说明您的确切要求是什么?你已经尝试过什么了吗?
  • 如果您在 Excel 中打开该 .csv,链接帖子的答案应该可以正常工作。
  • 我有 3 列:A:名称 B:地址 C:.csv 中的邮政编码 - 我想将 csv 的每一行转换为单独的文本图块,并将列中的内容变成 ' '.txt 文件的标题,每列文本之间有一个空格',并为每一行批量生成一个单独的 .txt 文件。我使用 openoffice calc,不知道在函数中添加什么或完成此操作的步骤...
  • 我可以在 excel 中打开它(在 openoffice 中计算)并保存它。我在哪里放置/运行代码?谢谢ZX9
  • 好吧,如果它真的是 Excel,我会告诉你开始 here。我不知道 OpenOffice,但看起来 interoperability 与 VBA 有可能......你最好学习 OpenOffice 语言--Basic

标签: excel csv text-files


【解决方案1】:

假设您现在实际使用的是 Excel...

首先,就像我在我的一个 cmets 中所说的,您应该开始 here 以了解如何自行使用 Visual Basic for Applications (VBA)。

在 Excel 中,激活 Developer 选项卡以访问 Visual Basic 编辑器是最简单的方法。

  1. 转到文件>选项>自定义功能区
  2. 检查开发人员选项卡。点击确定。
  3. 转到 Developer 并在 Code 部分下是 Visual Basic。单击此按钮可打开 VBA 编辑器。

现在您可以制作 VBA 潜艇了。您可以将它们放在特定的工作表、整个工作簿或 PERSONAL.XLSB 中的模块中,这样任何启用了宏的 Excel 工作簿都可以运行它们。

您可能需要创建一个模块。如果是这样:

  1. 右键单击VBAProject (PERSONAL.XLSB)
  2. Insert>Module
  3. 给它命名。

您现在可以将代码粘贴到模块中,并且您有一个“宏”。

最简单的运行方法是

  1. 转到开发人员选项卡。
  2. 点击
  3. 选择您的宏。
  4. 点击运行

您还可以通过在同一 Macros 菜单中点击 Options... 来分配键盘快捷键。

现在您基本上可以从here 复制和粘贴代码。稍作修改:

Sub Export_Files()
    Dim sExportFolder, sFN
    Dim rTitle As Range
    Dim rContent As Range
    Dim oSh As Worksheet
    Dim oFS As Object
    Dim oTxt As Object

    'sExportFolder = path to the folder you want to export to
    'oSh = The sheet where your data is stored
    sExportFolder = "C:\Disclaimers"
    Set oSh = Sheet1

    Set oFS = CreateObject("Scripting.Filesystemobject")

    For Each rTitle In oSh.UsedRange.Columns("A").Cells
        Set rContent = rTitle.Offset(, 1) & ", " & rTitle.Offset(, 2)   '<--This will put in your Column B and C value. You can delimit with whatever you desire; I used a comma and space.
        'Add .txt to the article name as a file name
        sFN = rTitle.Value & ".txt"
        Set oTxt = oFS.OpenTextFile(sExportFolder & "\" & sFN, 2, True)
        oTxt.Write rContent.Value
        oTxt.Close
    Next
End Sub

【讨论】:

    猜你喜欢
    • 2011-11-01
    • 1970-01-01
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多