【问题标题】:Outputting to CSV via .txt --looking for more elegant solution通过 .txt 输出到 CSV——寻找更优雅的解决方案
【发布时间】:2012-09-06 14:48:17
【问题描述】:

我最近编写了一些 python 脚本来计算 csv 文件中的单词数,然后将两列打印为输出:“Prefix”和“Count”,其中 prefix 是名称中连续的第一个单词,并且count 是该名称所有出现次数的总和。

我的问题是,如果我尝试直接输出到 .csv 文件,所有内容都会放在一列中,看起来不太好。但是,如果我先输出到一个 .txt 文件,然后在 excel 中打开该文件,它要求我制作一个空格分隔符,它看起来是正确的。我敢打赌答案是非常基本的,但我只是想知道是否有比保存为 .txt 然后重新打开为 .csv 更简单的方法。此外,为什么我可以打开一个新的 excel 文件并从那里打开 .txt 文件并且它可以工作,而如果我尝试直接将 .txt 文件“打开”到 excel 中它不起作用(而是给了我旧的结果一列中的所有内容)?

非常感谢您提供的任何帮助!

编辑: 当我使用“打开方式”按钮将 .txt 文件作为 csv 打开时,输出如下所示:

    Word      Count
    the 333
    Family 54

当我打开一个新的 excel 文件并从那里打开 .txt 文件并使用文件打开之前出现的分隔符选项时,它看起来像这样:

    Word, Count
    the, 333
    Family, 54

【问题讨论】:

  • 能否请您发布您的 csv/txt 文件内容或其中的示例 - 这会有所帮助。但我已经猜到了,如果有的话,它可能与你的分隔符有关。
  • 您的 csv 不应位于一列中。检查您的 csv 导出选项。

标签: excel csv


【解决方案1】:

CSV = 逗号分隔值

您需要输出以逗号而不是空格分隔的数据。您可以将其另存为 .csv 并双击以在 excel 中打开。然后数据出现在两列中。

此外,为什么我可以打开一个新的 excel 文件并从那里打开 .txt 文件并且它可以工作,而如果我尝试直接将 .txt 文件“打开”到 excel 中它不起作用(而是给出我的旧结果,一列中的所有内容)

同样的原因。如果您在 excel 中打开一个 .txt 文件,它只会以文本形式打开。它不知道如何解释这些数据(哪些内容进入了哪些列)。当您“打开一个新的 excel 文件并从那里打开 .txt 文件”时,您正在“导入”数据并告诉 excel 将数据解释为以空格为分隔符的两列,因此它可以工作。

您也可以使用“打开方式”直接在 excel 中打开 .txt 文件,然后使用“文本到列”功能以电子表格友好的方式重新建模数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 2018-04-28
    相关资源
    最近更新 更多