通过.txt输出到CSV - 寻找更优雅的解决方案

时间:2012-09-06 14:48:18

标签: excel csv

我最近编写了一些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

1 个答案:

答案 0 :(得分:2)

CSV =逗号分隔值

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

  

此外,我为什么可以打开一个新的Excel文件,并从那里打开.txt文件,它的工作原理,而如果我尝试只是.txt文件直接导入Excel“打开”它不工作(而是给我将旧结果列在一栏中。

同样的道理。如果在excel中打开.txt文件,它将只以文本形式打开。它不知道如何解释这些数据(哪些列进入哪些列)。当你“打开一个新的excel文件,并从那里打开.txt文件”,你是“进口”的数据,你告诉擅长解释数据为两列与空间分隔符,所以它的工作原理。

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