Skip to main content
 首页 » 编程设计

python之将列表写入 Excel

2025年05月04日29kerrycode

我有一句话“现在是完全不同的东西”。我想对其进行标记化、标记并将其存储到 excel 文件中以供进一步处理。
<pre>sent = "And now for something completely different" words = nltk.word_tokenize(sent) tags = nltk.pos_tag() print tags</pre>

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

[('And', 'CC'), ('now', '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: Unsupported format, or currupt file: Expected BOF record; founf 'And\tCC\n'

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

请您参考如下方法:

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

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