python运行有错误:这是对数据进行分析生成可视化界面的程序(我是小白,请说下解决方法) 40C

运行错误:
C:\Users\Administrator\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/untitled/dianying/src/analysis_data.py
一共有:16590个
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
Loading model cost 0.808 seconds.
Prefix dict has been built succesfully.
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/untitled/dianying/src/analysis_data.py", line 252, in
jiebaclearText(content)
File "C:/Users/Administrator/PycharmProjects/untitled/dianying/src/analysis_data.py", line 97, in jiebaclearText
f_stop_text = f_stop.read()
File "D:\python111\lib\codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 3: invalid start byte

Process finished with exit code 1

代码如下:
'''
data : 2019.3.28
goal : 可视化分析获取到的数据
'''
import csv

time = []
nickName = []
gender = []
cityName = []
userLevel = []
score = []
content = ''

读数据

def read_csv():
content = ''
# 读取文件内容
with open(r'D:\maoyan.csv', 'r', encoding='utf_8_sig', newline='') as file_test:
# 读文件
reader = csv.reader(file_test)
i = 0
for row in reader:
if i != 0:
time.append(row[0])
nickName.append(row[1])
gender.append(row[2])
cityName.append(row[3])
userLevel.append(row[4])
score.append(row[5])
content = content + row[6]
# print(row)
i = i + 1
print('一共有:' + str(i - 1) + '个')
return content

import re, jieba

词云生成工具

from wordcloud import WordCloud, ImageColorGenerator

需要对中文进行处理

import matplotlib.font_manager as fm
from pylab import *

mpl.rcParams['font.sans-serif'] = ['SimHei']
from os import path

d = path.dirname(__file__)

stopwords_path = 'D:\ku\chineseStopWords.txt'

评论词云分析

def word_cloud(content):
import jieba, re, numpy
from pyecharts import WordCloud
import pandas as pd

# 去除所有评论里多余的字符
content = content.replace(" ", ",")
content = content.replace(" ", "、")
content = re.sub('[,,。. \r\n]', '', content)

segment = jieba.lcut(content)
words_df = pd.DataFrame({'segment': segment})
# quoting=3 表示stopwords.txt里的内容全部不引用
stopwords = pd.read_csv(stopwords_path, index_col=False, quoting=3, sep="\t", names=['stopword'],
                        encoding='utf-8')
words_df = words_df[~words_df.segment.isin(stopwords.stopword)]
words_stat = words_df.groupby(by=['segment'])['segment'].agg({"计数": numpy.size})
words_stat = words_stat.reset_index().sort_values(by=["计数"], ascending=False)
test = words_stat.head(500).values
codes = [test[i][0] for i in range(0, len(test))]
counts = [test[i][1] for i in range(0, len(test))]
wordcloud = WordCloud(width=1300, height=620)
wordcloud.add("影评词云", codes, counts, word_size_range=[20, 100])
wordcloud.render(d + "\picture\c_wordcloud.html")

定义个函数式用于分词

def jiebaclearText(text):
# 定义一个空的列表,将去除的停用词的分词保存
mywordList = []
text = re.sub('[,,。. \r\n]', '', text)
# 进行分词
seg_list = jieba.cut(text, cut_all=False)
# 将一个generator的内容用/连接
listStr = '/'.join(seg_list)
listStr = listStr.replace("class", "")
listStr = listStr.replace("span", "")
listStr = listStr.replace("悲伤逆流成河", "")
# 打开停用词表
f_stop = open(stopwords_path, encoding="utf8")
# 读取
try:
f_stop_text = f_stop.read()
finally:
f_stop.close() # 关闭资源
# 将停用词格式化,用\n分开,返回一个列表
f_stop_seg_list = f_stop_text.split("\n")
# 对默认模式分词的进行遍历,去除停用词
for myword in listStr.split('/'):
# 去除停用词
if not (myword.split()) in f_stop_seg_list and len(myword.strip()) > 1:
mywordList.append(myword)
return ' '.join(mywordList)

生成词云图

def make_wordcloud(text1):
text1 = text1.replace("悲伤逆流成河", "")
bg = plt.imread(d + "/static/znn1.jpg")
# 生成
wc = WordCloud( # FFFAE3
background_color="white", # 设置背景为白色,默认为黑色
width=890, # 设置图片的宽度
height=600, # 设置图片的高度
mask=bg,
# margin=10, # 设置图片的边缘
max_font_size=150, # 显示的最大的字体大小
random_state=50, # 为每个单词返回一个PIL颜色
font_path=d + '/static/simkai.ttf' # 中文处理,用系统自带的字体
).generate_from_text(text1)
# 为图片设置字体
my_font = fm.FontProperties(fname=d + '/static/simkai.ttf')
# 图片背景
bg_color = ImageColorGenerator(bg)
# 开始画图
plt.imshow(wc.recolor(color_func=bg_color))
# 为云图去掉坐标轴
plt.axis("off")
# 画云图,显示
# 保存云图
wc.to_file(d + r"/picture/word_cloud.png")

评论者性别分布可视化

def sex_distribution(gender):
# print(gender)
from pyecharts import Pie
list_num = []
list_num.append(gender.count('0')) # 未知
list_num.append(gender.count('1')) # 男
list_num.append(gender.count('2')) # 女
attr = ["其他", "男", "女"]
pie = Pie("性别饼图")
pie.add("", attr, list_num, is_label_show=True)
pie.render(d + r"\picture\sex_pie.html")

评论者所在城市分布可视化

def city_distribution(cityName):
city_list = list(set(cityName))
city_dict = {city_list[i]: 0 for i in range(len(city_list))}
for i in range(len(city_list)):
city_dict[city_list[i]] = cityName.count(city_list[i])
# 根据数量(字典的键值)排序
sort_dict = sorted(city_dict.items(), key=lambda d: d[1], reverse=True)
city_name = []
city_num = []
for i in range(len(sort_dict)):
city_name.append(sort_dict[i][0])
city_num.append(sort_dict[i][1])

import random
from pyecharts import Bar
bar = Bar("评论者城市分布")
bar.add("", city_name, city_num, is_label_show=True, is_datazoom_show=True)
bar.render(d + r"\picture\city_bar.html")

每日评论总数可视化分析

def time_num_visualization(time):
from pyecharts import Line
time_list = list(set(time))
time_dict = {time_list[i]: 0 for i in range(len(time_list))}
time_num = []
for i in range(len(time_list)):
time_dict[time_list[i]] = time.count(time_list[i])
# 根据数量(字典的键值)排序
sort_dict = sorted(time_dict.items(), key=lambda d: d[0], reverse=False)
time_name = []
time_num = []
print(sort_dict)
for i in range(len(sort_dict)):
time_name.append(sort_dict[i][0])
time_num.append(sort_dict[i][1])

line = Line("评论数量日期折线图")
line.add(
    "日期-评论数",
    time_name,
    time_num,
    is_fill=True,
    area_color="#000",
    area_opacity=0.3,
    is_smooth=True,
)
line.render(d + r"\picture\c_num_line.html")

评论者猫眼等级、评分可视化

def level_score_visualization(userLevel, score):
from pyecharts import Pie
userLevel_list = list(set(userLevel))
userLevel_num = []
for i in range(len(userLevel_list)):
userLevel_num.append(userLevel.count(userLevel_list[i]))

score_list = list(set(score))
score_num = []
for i in range(len(score_list)):
    score_num.append(score.count(score_list[i]))

pie01 = Pie("等级环状饼图", title_pos='center', width=900)
pie01.add(
    "等级",
    userLevel_list,
    userLevel_num,
    radius=[40, 75],
    label_text_color=None,
    is_label_show=True,
    legend_orient="vertical",
    legend_pos="left",
)
pie01.render(d + r"\picture\level_pie.html")
pie02 = Pie("评分玫瑰饼图", title_pos='center', width=900)
pie02.add(
    "评分",
    score_list,
    score_num,
    center=[50, 50],
    is_random=True,
    radius=[30, 75],
    rosetype="area",
    is_legend_show=False,
    is_label_show=True,
)
pie02.render(d + r"\picture\score_pie.html")

time = []
nickName = []
gender = []
cityName = []
userLevel = []
score = []
content = ''
content = read_csv()

1 词云

jiebaclearText(content)
make_wordcloud(content)

pyecharts词云

word_cloud(content)

2 性别分布

sex_distribution(gender)

3 城市分布

city_distribution(cityName)

4 评论数

time_num_visualization(time)

5 等级,评分

level_score_visualization(userLevel, score)

1个回答

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 0

Python 编码中编码解码的问题,我这个错误就是‘utf-8’不能解码位置0的那个字节(0xa1),也就是这个字节超出了utf-8的表示范围了

解决办法:

with open(r'D:\maoyan.csv', 'r', encoding='utf_8_sig', newline='') as file_test:

修改:**with open(r'D:\maoyan.csv', 'r', encoding='utf-8', newline='') as file_test:**

也就是在读取数据的时候,显式添加编码方式encoding='utf_8',别的编码也可以试试哟。如:gb18030

zhuzhuzhanshi
zhuzhuzhanshi 还是不行 依然还是那个错误
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

Python爬虫抓取信息存储到excel表格后,怎么实行数据可视化

我用python爬去了起点中文网的一些信息,并且存储到excel中,现在想要实现数据可视化怎么写应该 import requests from lxml import etree from openpyxl import Workbook class Book(): def __init__(p): p.url = 'https://www.qidian.com/rank/hotsales?page={页数}' p.wb = Workbook() # class实例化 p.ws = p.wb.active # 激活工具表 p.ws.append(['书名', '作者', '类型', '连载状态']) # 添加对应的表头 def geturl(p): url = [p.url.format(页数 =i) for i in range(1,15)] return url def parse_url(p,url): response =requests.get(url,timeout = 5) return response.content.decode('utf-8','ignore') def get_list(p,html_str): html = etree.HTML(html_str) connect_list = [] lists = html.xpath("//div[@class='book-img-text']/ul/li//div[@class='book-mid-info']") for list in lists: item = {} item['书名'] = ''.join(list.xpath("./h4/a/text()")) item['作者'] = ''.join(list.xpath("./p[@class='author']/a[1]/text()")) item['类型'] = ''.join(list.xpath("./p[@class='author']/a[2]/text()")) item['连载状态'] = ''.join(list.xpath("./p[@class='author']/span/text()")) connect_list.append(item) return connect_list def save_list(p, connects): for connect in connects: p.ws.append([connect['书名'], connect['作者'], connect['类型'], connect['连载状态']]) print('保存小说信息成功') def run(p): url_list = p.geturl() for url in url_list: html_url =p.parse_url(url) connects = p.get_list(html_url) p.save_list(connects[:]) p.wb.save('book.xlsx') if __name__=='__main__': spider = Book() spider.run()

如何将python的得到的数据实时可视化 就像是心点图那样

`` ``` ````import psutil import time while True: a=psutil.cpu_percent(None) print("cpu的利用率为:",a) time.sleep(1) ``` 怎么才能把这个生成的数据做一个类似心电图的玩意

python scrapy运行错误

scrapy安装路径为D:\Python soft,已经将D:\Python soft和D:\Python soft\Scripts加入到环境变量中了(win7,64位)。建立一个工程domz,进入到所建立的工程目录下再运行,即D:\Python soft\Scripts\tutorial,然后scrapy crawl domz,出现“scrapy 不是系统内部或外部命令,也不是可运行的程序或批处理文件“错误; 若在D:\Python soft\Scripts目录下运行scrapy crawl domz,结果出错:unknown command crawl。请问怎么解决?多谢

python学习生成测试数据

各位大牛,我想生成按照一定的比例生成测试数据,比如我想生成1000条人员数据,其中的属性包括性别,学历,年龄等。其中男女比例为6:4,学历上初中、高中和大学的比例为3:3:4。 想生成这样的数据不知道我该怎么实现,恳请各位大佬指点一下,最好是用python实现,十分感激。

需求一个简单的python Gui 界面。

做了一个输入关键词和种类名爬数据库,并可以画出多张图片的python小代码, 但是想给这些东西整到一个gui小界面上,entry可以输入内容然后用作爬取数据库, button执行,在右侧显示生成图片。 大概是这样![图片说明](https://img-ask.csdn.net/upload/201807/06/1530842820_579433.png) 这种小界面用python该怎么做啊? 求大神来个带解释的界面代码给瞅瞅。

vscode运行Python出现奇怪错误怎么解决?

我的程序正确运行的时候没有影响 但是当出现错误的时候就会出现这样的报错: Traceback (most recent call last): File "C:\Python27\lib\runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "C:\Python27\lib\runpy.py", line 72, in _run_code exec code in run_globals File "c:\Users\神仙姐姐\.vscode\extensions\ms-python.python-2018.8.0\pythonFiles\experimental\ptvsd\ptvsd\__main__.py", line 211, in <module> 因为看不见到底是哪里出了问题……我经常不知道到哪里去查找错误…… 求大家看下这是什么原因呀?

如何用python写一个可视化图形用户界面,实现一键使用训练好的模型检测物体

如题,本人小白一枚。在网上自学了Faster R-CNN,模型也训练好了,想用python写一个系统,实现一键检测物体,让别人也玩玩,可惜不会写QAQ有大神指教一下 感激不尽~

liunx下运行python程序时出现:class: command not found

#!/usr/bin/python # -*- coding: UTF-8 -*- class Employee: '所有员工的基类' empCount = 0 def _init_(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print "Total Employee %d" % Employee.empCount def displayEmployee(self): print "Name : ", self.name, ", Salary: ", self.salary "创建 Employee 类的第一个对象" emp1 = Employee("Zara", 2000) "创建 Employee 类的第二个对象" emp2 = Employee("Manni", 5000) emp1.displayEmployee() emp2.displayEmployee() print "Total Employee %d" % Employee.empCount

Python语法错误:TypeError: string indices must be integers

是这样的,这是个Python爬虫程序,有时候会中断 到这个地方,是字符串下标不对? ![图片说明](https://img-ask.csdn.net/upload/201909/20/1568948882_384629.png) ![图片说明](https://img-ask.csdn.net/upload/201909/20/1568948557_509140.png) ![图片说明](https://img-ask.csdn.net/upload/201909/20/1568948570_798667.png)

python生成的exe在某些电脑上正常运行,有些电脑上能正常运行

用python写的程序生成exe以后,在自己电脑(win 7 32位系统)上可以正常运行,在别人的电脑上win10也可以正常运行,但是在公司电脑上报错。 没法传图片, 简单写一下错误描述: Import Error: importing the multiarray numpy extension module failed.Most likely you are trying to import a failed build of numpy. If you're wording with a numpy git repo, try 'git clean.......' Original error was :DLL load failed :找不到指定的模块 程序第一行是 import numpy as np 之前在公司电脑上生成过的能正常运行的exe,现在也报上述错误, 估计是电脑缺什么文件吧 请大侠指点,没有金币奉送,只能拜谢.

Python脚本运行问题,在pycharm中运行会出错

初学python,写了一段脚本: from sys import argv script,user_name=argv prompt='<' print("hi %s,i am the %s script."%(user_name,script)) print("I'd like to ask you a few questions.") print("DO you like me %s"%user_name) input(prompt) 在Pycharm上面运行会出现如下错误: D:\PycharmProjects\untitled\venv\Scripts\python.exe D:/PycharmProjects/untitled/ex14.py Traceback (most recent call last): File "D:/PycharmProjects/untitled/ex14.py", line 2, in <module> script,user_name=argv ValueError: not enough values to unpack (expected 2, got 1) Process finished with exit code 1 这是什么原因,用cmd运行就没有问题,可以出来结果

python错误:ValueError: No JSON object could be decoded

#-*- coding:utf-8 -*- import requests from operator import itemgetter # 执行API调用并存储响应 url = 'http://hacker-news.firebaseio.com/v0/topstories.json' r = requests.get(url) print("Status code:", r.status_code) # 处理有关每篇文章的信息 submission_ids = r.json() submission_dicts = [] for submission_id in submission_ids[:30]: # 对于每篇文章,都执行一个API调用 url = ('http://hacker-news.firebaseio.com/v0/item/' + str(submission_id) + '.json') submission_r = requesets.get(url) print(submisssion_r.status_code) reponse_dict = submission_r.json() submission_dict = { 'title': resopnse_dict['title'], 'link': 'http://news.ycombinator.com/item?id=' + str(submission_id), 'comments': response_dict.get('descendants', 0) } submission_dicts.append(submission_dict) submission_dicts = sorted(submission_dicts, key=itemgetter('comments'), recerse=Ture) for submission_dict in submission_dicts: print("/nTitle:", submission_dict['title']) print("Discussion link:", submission_dict['link']) print("Comeents", submission_dict['comments'])

/usr/bin/yum: /usr/bin/python2.6: bad interpreter

redhat7.0更新了yum后报错 -bash: /usr/bin/yum: /usr/bin/python2.6: bad interpreter: No such file [root@localhost bin]# whereis python python: /usr/bin/python2.6 /usr/bin/python /usr/lib/python2.7 /usr/lib/python2.6 /usr/lib64/python2.7 /usr/lib64/python2.6 /usr/include/python2.7 /usr/share/man/man1/python.1.gz #vi yum改成 #!/usr/bin/python2.6 还是不行 执行了sudo ln -s /usr/bin/python2.6 /usr/bin/python

python可视化文本框问题

问题概要: 文本框,想添加一些东西,密码。但是我想程序第一步先检测有没有设定密码,如果没 有则跳出一个窗口来提示进行设置密码,否则直接输入密码,想请问这个应该怎么做? 大概思路是什么?![图片说明](https://img-ask.csdn.net/upload/201710/03/1507008832_998848.png)

python如何根据曲线生成数据点

![图片说明](https://img-ask.csdn.net/upload/201907/26/1564111306_761928.jpg) 比如根据这个图片里的曲线,自动生成数据点? 以前没做过python,导师给安排的任务一头雾水,求各位大佬指点方向。

求用Python写个小函数:让用户在界面输入一个数字,然后返回输出这个数字加1的结果

求用Python写个函数:让用户在界面输入一个数字,然后返回输出这个数字加1的结果,小白刚学Python,求指点,谢谢!

python问题:TypeError: expected string or buffer

``` import requests import re #这是用requests进行的数据爬取 url = 'https://car.autohome.com.cn/photo/series/26709/1/3793691.html' html = requests.get(url) # print (html.text) img_url = re.findall(r'<img id="img" src="(.*?)"',html)[0] img_url = 'http:' + img_url print(img_url) img_response = requests.get(img_url) img_data = img_response.content f = open('2.jpg','wb') f.write(img_data) f.close() 报错: Traceback (most recent call last): File "D:/Java/Python/src/hao/__init__.py", line 9, in <module> img_url = re.findall(r'<img id="img" src="(.*?)"',html)[0] File "C:\Python27\lib\re.py", line 181, in findall return _compile(pattern, flags).findall(string) TypeError: expected string or buffer ```

pycharm中debug时提示python停止运行,是哪里的问题?

问题事件搜索名称: APPCRASH 应用程序名: python.exe 应用程序版本: 3.5.2150.1013 应用程序时间戳: 577be340 故障模块名称: python37.DLL 故障模块版本: 3.7.150.1013 故障模块时间戳: 5b34dd15 异常代码: c0000005 异常偏移: 000000000000b35b OS 版本: 6.1.7601.2.1.0.256.1 区域设置 ID: 2052 其他信息 1: a567 其他信息 2: a567baf57c8baea6b1101e60267f8029 其他信息 3: a8f2 其他信息 4: a8f250760cfdbb41e4221ff3872d470a 先装了python3.7然后又卸载了,然后装了anaconda3,先用的自带3.7环境,然后创建了一个3.5.2的环境。pycharm和wing的interpreter都是用的3.5.2的环境,但用pycharm的时候能正常运行但不能debug,用wing的时候运行即报错。两个ide都是如上面显示的同样的错误 。

python数据分析之后处理的数据入什么数据库比较好 mysql?Oracle?

python数据分析之后处理的数据入什么数据库比较好 mysql?Oracle?python数据分析之后处理的数据入什么数据库比较好 mysql?Oracle?python数据分析之后处理的数据入什么数据库比较好 mysql?Oracle?python数据分析之后处理的数据入什么数据库比较好 mysql?Oracle?

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行
立即提问