写一个列表到Excel中

我有一句话“现在为了完全不同的东西”。 我想标记它,标记并将其存储到一个Excel文件进​​一步处理。
<pre>sent = "And now for something completely different" words = nltk.word_tokenize(sent) tags = nltk.pos_tag() print tags</pre>

上面的结果是以嵌套列表格式标记的单词。

[('和','CC'),('现在','RB'),('for','IN'),('something','NN'),('completely','RB') ,('different','JJ')]

我想将这个结果列表存储到一个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:不支持的格式或中断文件:期望的BOFlogging; founf'And \ tCC \ n'

任何人都可以告诉我如何写标签列表输出文件,以便我可以解决上述错误?

Excel文件(xlsx)不只是简单的平面文件,所以试图将文本文件复制到xlsx将不起作用。 您可以将文件另存为csv并在Excel中打开它。 我认为pandas对parsing和写入数据文件非常有用(显然它对处理数据也很有用)。

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

写入Excel格式。 您已经将您的文件写入制表符分隔值。 Excel知道如何阅读。 我build议你用'.tsv'扩展名保存你的文件,并在excel中打开它。