Python在Excel文件中的NLTK使用
我想分析一个Excel文件里的文本数据。我知道怎么用Python读取Excel文件,但每个数据都会变成列表中的一个值。不过,我想分析每个单元格里的文本。
这是我Excel文件的例子:
NAME INDUSTRY INFO A FINANCIAL THIS COMPANY IS BLA BLA BLA B MANUFACTURE IT IS LALALALALALALALALA C FINANCIAL THAT IS SOSOSOSOSOSOSOSO D AGRICULTURE WHYWHYWHYWHYWHY
我想用NLTK分析一下,比如金融行业公司的信息,看看“IT”这个词出现的频率。
这是我目前的尝试(是的,这个代码不管用!):
import xlrd
aa='c:/book3.xls'
wb = xlrd.open_workbook(aa)
wb.sheet_names()
sh = wb.sheet_by_index(0)
for rownum in range(sh.nrows):
print nltk.word_tokenize(sh.row_values(rownum))
1 个回答
1
你把每一行的所有值都传给了word_tokenize,但其实你只关心第三列的内容。而且你还在处理表头这一行。试试这样做:
import xlrd
book = xlrd.open_workbook("your_input_file.xls")
sheet = book.sheet_by_index(0)
for row_index in xrange(1, sheet.nrows): # skip heading row
name, industry, info = sheet.row_values(row_index, end_colx=3)
print "Row %d: name=%r industry=%r info=%r" %
(row_index + 1, name, industry, info)
print nltk.word_tokenize(info) # or whatever else you want to do