将列表写入Excel

时间:2015-11-13 10:39:23

标签: python excel list file tagging

我有一句话'现在是完全不同的事情'我想标记它,标记它并将其存储到excel文件中以便进一步处理。
<pre>sent = "And now for something completely different" words = nltk.word_tokenize(sent) tags = nltk.pos_tag() print tags</pre>

上面的结果是带有嵌套列表格式标签的单词。

  

[(&#39;和&#39;,&#39; CC&#39;),(&#39;现在&#39;,&#39; RB&#39;),&#39; for && #39;,&#39; IN&#39;),(&#39;某些&#39;,&#39; NN&#39;),   (&#39;完全&#39;,&#39; RB&#39;),(&#39;不同&#39;,&#39; JJ&#39;)

我想将此结果列表存储到excel文件中,其中一列中包含单词,另一列中包含标签。

我尝试了以下代码来实现上述目标。

fd = open("output.txt",'w')
i=0
for words in tags:
    for word in words:
        i+=1
        fd.write(word)
        if i==1:
            fd.write('\t')
        fd.write('\n')
    i=0

上面的代码将字和标签完美地写入输出文件。如果我使用shutil方法从文本文件复制到excel格式,它将完美执行。当我尝试阅读转换后的问题。我收到以下错误。

  

XLRDError:不支持的格式或压缩文件:预期的BOF记录; founf&#39;和\ tCC \ n&#39;

有谁能告诉我如何将标记列表写入输出文件,以便我可以解决上述错误?

2 个答案:

答案 0 :(得分:4)

Excel文件(xlsx)不仅仅是简单的平面文件,因此尝试将文本文件复制到xlsx将无法正常工作。您可以将文件另存为csv并在Excel中打开它。我认为pandas对于解析和编写数据文件非常有用(显然它对于处理数据也很有用)。

import pandas as pd
df = pd.DataFrame(tags)
df.to_excel('output.xlsx', header=False, index=False)

答案 1 :(得分:1)

而是写入excel格式。您已将文件写入制表符分隔值。 Excel知道如何阅读。我建议您使用“.tsv”扩展名保存文件,然后在Excel中打开它。