从xlsx文件里读取一列评论,通过jieba库分词,一个字的不要,统计结果
时间: 2024-04-30 16:22:59 浏览: 19
以下是一个Python程序,可以读取xlsx文件中的某一列评论,使用jieba库进行分词,过滤掉一个字的词语,并统计词频:
```python
import openpyxl
import jieba
# 打开xlsx文件
wb = openpyxl.load_workbook('comments.xlsx')
# 选择第一个工作表
ws = wb.worksheets[0]
# 读取第一列评论
comments = [cell.value for cell in ws['A']]
# 分词并统计词频
word_count = {}
for comment in comments:
words = jieba.cut(comment)
for word in words:
if len(word) > 1:
word_count[word] = word_count.get(word, 0) + 1
# 输出词频统计结果
for word, count in word_count.items():
print(word, count)
```
这个程序首先使用openpyxl库读取xlsx文件中的第一列评论,然后使用jieba库进行分词。在分词的过程中,我们过滤掉了长度为1的词语。最后,我们使用一个字典来统计每个词语出现的次数,并输出结果。
相关问题
从xlsx文件里读取一列评论,通过jieba库分词,一个字的不要,统计结果,按从大到小输出
以下是一个Python代码示例,实现了从xlsx文件中读取一列评论,使用jieba库进行分词,并统计分词结果,最终按照词频从大到小进行输出。
```python
import jieba
import openpyxl
from collections import Counter
# 打开xlsx文件
wb = openpyxl.load_workbook('comments.xlsx')
ws = wb.active
# 读取评论列,并进行分词
comments = []
for cell in ws['A']:
if isinstance(cell.value, str):
seg_list = jieba.cut(cell.value)
for seg in seg_list:
if len(seg) > 1:
comments.append(seg)
# 统计分词结果,按照词频从大到小排序
counter = Counter(comments)
result = counter.most_common()
# 输出结果
for word, freq in result:
print(f'{word}: {freq}')
```
在上述代码中,首先使用openpyxl库打开xlsx文件,并读取评论列。然后使用jieba库对每个评论进行分词,并将分词结果添加到comments列表中。接着使用collections库中的Counter类对comments列表进行统计,得到每个词出现的频率,最终使用most_common()方法按照词频从大到小排序。最后,使用for循环输出结果。
怎么在pandas里对excel表格里某一列的数据进行jieba分词
可以使用 Pandas 和 jieba 库来对 Excel 表格中某一列的数据进行分词。下面是一个示例代码:
```python
import pandas as pd
import jieba
# 读取 Excel 文件
df = pd.read_excel('data.xlsx')
# 对某一列进行分词
df['分词结果'] = df['原始文本'].apply(lambda x: ' '.join(jieba.cut(x)))
# 保存分词结果到新的 Excel 文件
df.to_excel('分词结果.xlsx', index=False)
```
在这个示例中,我们首先使用 Pandas 的 `read_excel` 方法读取 Excel 文件,并将其存储在 DataFrame 中。然后,我们使用 `apply` 方法对 DataFrame 中的某一列(例如 `原始文本` 列)进行操作,将其传递给 jieba 库的 `cut` 方法进行分词。最后,我们将分词结果存储在 DataFrame 中的新列(例如 `分词结果` 列)中,并使用 `to_excel` 方法将其保存到新的 Excel 文件中。
需要注意的是,上述代码中使用的是 `join` 方法将分词结果连接成字符串,并使用空格作为分隔符。如果需要使用其他的分隔符,可以将其作为 `join` 方法的参数传入。另外,上述代码中使用的是 jieba 的默认分词模式(即精确模式),如果需要使用其他的分词模式,可以参考 jieba 文档中的说明进行设置。