将列表写入 Excel
Write a list into Excel
我有一句话'And now for something completely different'。我想对其进行标记化、标记并将其存储到 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 格式。您已经将文件写入制表符分隔值。 Excel 知道怎么读。我建议您使用“.tsv”扩展名保存您的文件并在 excel.
中打开它
Excel 文件 (xlsx) 不仅仅是简单的平面文件,因此尝试将文本文件复制到 xlsx 是行不通的。您可以将文件另存为 csv 并在 Excel 中打开它。我觉得pandas对解析和写入数据文件真的很有用(显然对处理数据也很有用)
import pandas as pd
df = pd.DataFrame(tags)
df.to_excel('output.xlsx', header=False, index=False)
我有一句话'And now for something completely different'。我想对其进行标记化、标记并将其存储到 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 格式。您已经将文件写入制表符分隔值。 Excel 知道怎么读。我建议您使用“.tsv”扩展名保存您的文件并在 excel.
中打开它Excel 文件 (xlsx) 不仅仅是简单的平面文件,因此尝试将文本文件复制到 xlsx 是行不通的。您可以将文件另存为 csv 并在 Excel 中打开它。我觉得pandas对解析和写入数据文件真的很有用(显然对处理数据也很有用)
import pandas as pd
df = pd.DataFrame(tags)
df.to_excel('output.xlsx', header=False, index=False)