python爬虫数据可视化怎么排列好后存储到本地excel

Python爬虫得到数据后怎么保存? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。2被浏览391分享邀请回答赞同 添加评论分享收藏感谢收起赞同 添加评论分享收藏感谢收起写回答Python实现自定义顺序、排列写入数据到Excel的方法
转载 &更新时间:日 10:58:53 & 作者:开心果汁
这篇文章主要介绍了Python实现自定义顺序、排列写入数据到Excel的方法,涉及Python针对Excel文件的数据处理及读写相关操作技巧,需要的朋友可以参考下
本文实例讲述了Python实现自定义顺序、排列写入数据到Excel的方法。分享给大家供大家参考,具体如下:
例1. 数据框顺序写入Excel:
import xlsxwriter
workbook = xlsxwriter.Workbook('F:/chart1.xlsx')
worksheet = workbook.add_worksheet('请求接口')
title = [u'订单号',u'债权编号',u'请求参数',u'创建时间',u'结果']
print data.iloc[:,0]
format=workbook.add_format()
format.set_border(1)
format_title=workbook.add_format()
format_title.set_border(1)
format_title.set_bg_color('#cccccc')
format_title.set_align('center')
format_title.set_bold()
format_ave=workbook.add_format()
format_ave.set_border(1)
format_ave.set_num_format('0.00')
worksheet.write_row('A1',title,format_title)
worksheet.write_column('A2:', data.iloc[:,0],format)
worksheet.write_column('B2', data.iloc[:,1],format)
worksheet.write_column('C2', data.iloc[:,2],format)
worksheet.write_column('D2', data.iloc[:,3],format)
worksheet.write_column('E2', data.iloc[:,4],format)
workbook.close()
例2. (自动报表):
#coding: utf-8
import xlsxwriter
workbook = xlsxwriter.Workbook('F:/chart.xlsx')
worksheet = workbook.add_worksheet()
chart = workbook.add_chart({'type': 'column'})
title = [u'业务名称',u'星期一',u'星期二',u'星期三',u'星期四',u'星期五',u'星期六',u'星期日',u'平均流量']
buname= [u'业务官网',u'新闻中心',u'购物频道',u'体育频道',u'亲子频道']
[150,152,158,149,155,145,148],
[89,88,95,93,98,100,99],
[201,200,198,175,170,198,195],
[75,77,78,78,74,70,79],
[88,85,87,90,93,88,84],
print data
format=workbook.add_format()
format.set_border(1)
format_title=workbook.add_format()
format_title.set_border(1)
format_title.set_bg_color('#cccccc')
format_title.set_align('center')
format_title.set_bold()
format_ave=workbook.add_format()
format_ave.set_border(1)
format_ave.set_num_format('0.00')
worksheet.write_row('A1',title,format_title)
worksheet.write_column('A2', buname,format)
worksheet.write_row('B2', data[0],format)
worksheet.write_row('B3', data[1],format)
worksheet.write_row('B4', data[2],format)
worksheet.write_row('B5', data[3],format)
worksheet.write_row('B6', data[4],format)
def chart_series(cur_row):
worksheet.write_formula('I'+cur_row, \
'=AVERAGE(B'+cur_row+':H'+cur_row+')',format_ave)
chart.add_series({
'categories': '=Sheet1!$B$1:$H$1',
'=Sheet1!$B$'+cur_row+':$H$'+cur_row,
{'color': 'black'},
'=Sheet1!$A$'+cur_row,
for row in range(2, 7):
chart_series(str(row))
chart.set_table()
chart.set_style(30)
chart.set_size({'width': 577, 'height': 287})
chart.set_title ({'name': u'业务流量周报图表'})
chart.set_y_axis({'name': 'Mb/s'})
worksheet.insert_chart('A8', chart)
workbook.close()
更多关于Python相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家Python程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具DataCastle — 专业的大数据竞赛平台
http://pkbigdata.com/
Python爬虫入门 | 6 将爬回来的数据存到本地
1.用Python语句存储数据
写文件时,我们主要用到 with open() 语句:
with open(name,mode,encoding) as file:
file.write()
name:包含文件名称的字符串,比如:‘xiaozhu.txt’;
mode:决定了打开文件的模式,只读/写入/追加等;
encoding:表示我们要写入数据的编码,一般为 utf-8 或者
file:表示我们在代码中对文件的命名。
用我们前面爬的小猪的例子来看一下,实际是什么样的:
from lxml import etree
import requests
import time
with open('/Users/mac/Desktop/xzzf.txt','w',encoding='utf-8') as f:
for a in range(1,6):
url = 'http://cd.xiaozhu.com/search-duanzufang-p{}-0/'.format(a)
data = requests.get(url).text
s=etree.HTML(data)
file=s.xpath('//*[@id="page_list"]/ul/li')
time.sleep(3)
for div in file:
title=div.xpath("./div[2]/div/a/span/text()")[0]
price=div.xpath("./div[2]/span[1]/i/text()")[0]
scrible=div.xpath("./div[2]/div/em/text()")[0].strip()
pic=div.xpath("./a/img/@lazy_src")[0]
f.write("{},{},{},{}\n".format(title,price,scrible,pic))
将写入的文件名 xzzf.txt,如果没有将自动创建。
/Users/mac/Desktop/xzzf.txt
在前面加了一个桌面的路径,它将存在桌面,如果不加路径,它将存在你当前工作目录中。
w:只写的模式,如果没有文件将自动创建;
encoding=’utf-8’:指定写入文件的编码为:utf-8,一般指定utf-8即可;
f.write("{}
{}\n".format(title,price,scrible,pic))
来看一下存下来的数据是怎样的:
如果你没有指定文件路径,怎么找写在本地的文件呢?给你两种方法:
在 win10 中打开小娜(cortana),搜索你的文件名即可。
推荐软件“everything”,查询文件更方便快捷。
这个软件非常小,百度很容易找到,但确实是神器用了你会回来感谢我的~
所以还是建议你在写代码的时候,老老实实在文件名前面加上你想存放的路径。什么,你连路径怎么写都不知道?好吧,比如我想把文件存在桌面,那么怎么查看路径?
随便找一个文档,比如桌面的文档, 右键 &“属性”,“位置”后面的信息,就是该文档所在的路径了。
2.文件存为CSV格式
当然,你也可以将文件存为 .csv 格式,在 with open() 语句后更改文件后缀即可。
from lxml import etree
import requests
import time
with open('/Users/mac/Desktop/xiaozhu.csv','w',encoding='utf-8') as f:
for a in range(1,6):
url = 'http://cd.xiaozhu.com/search-duanzufang-p{}-0/'.format(a)
data = requests.get(url).text
s=etree.HTML(data)
file=s.xpath('//*[@id="page_list"]/ul/li')
time.sleep(3)
for div in file:
title=div.xpath("./div[2]/div/a/span/text()")[0]
price=div.xpath("./div[2]/span[1]/i/text()")[0]
scrible=div.xpath("./div[2]/div/em/text()")[0].strip()
pic=div.xpath("./a/img/@lazy_src")[0]
f.write("{},{},{},{}\n".format(title,price,scrible,pic))
另外,需要注意的是:CSV 每个字段之间要用逗号隔开,所以这里把之前的空格改为了逗号。
CSV 文件怎么打开?
一般情况下,用记事本就可以直接打开,如果你直接用 Excel 打开,很有肯能会出现乱码,就像下面这样:
Excel 打开 CSV 出现乱码怎么办?
在记事本中打开文件
另存为 – 选择编码为“ANSI”
再来看看之前的豆瓣TOP250图书写入文件:
from lxml import etree
import requests
import time
with open('/Users/mac/Desktop/top250.csv','w',encoding='utf-8') as f:
for a in range(10):
url = 'https://book.douban.com/top250?start={}'.format(a*25)
data = requests.get(url).text
s=etree.HTML(data)
file=s.xpath('//*[@id="content"]/div/div[1]/div/table')
time.sleep(3)
for div in file:
title = div.xpath("./tr/td[2]/div[1]/a/@title")[0]
href = div.xpath("./tr/td[2]/div[1]/a/@href")[0]
score=div.xpath("./tr/td[2]/div[2]/span[2]/text()")[0]
num=div.xpath("./tr/td[2]/div[2]/span[3]/text()")[0].strip("(").strip().strip(")").strip()
scrible=div.xpath("./tr/td[2]/p[2]/span/text()")
if len(scrible) & 0:
f.write("{},{},{},{},{}\n".format(title,href,score,num,scrible[0]))
f.write("{},{},{},{}\n".format(title,href,score,num))
最后存下来的数据是这样的:
好了,这节课就到这里!
如果你想有专业老师授课、有系统性知识、有实时在线答疑的老师的话,可以加入我们的课程。
下节预告:
完整7节课程目录:
没有更多推荐了,前提条件是python操作excel和数据库的环境配置是完整的,这个需要在python中安装导入相关依赖包;
实现的具体代码如下:
#!/usr/bin/python# -*- coding: utf-8 -*-
import urllibimport urllib2import sysimport reimport sslimport openpyxlimport MySQLdbimport time
#from bs4 import BeautifulSoup
#修改系统默认编码为utf-8reload(sys)sys.setdefaultencoding("utf-8")ssl._create_default_https_context = ssl._create_unverified_context
#创建全局列表存储数据,存放电影名字和链接地址nameLists = []linkLists = []
#搜索豆瓣top100电影,保存成文件、excel、数据库class TopMove: #初始化 def __init__(self):
#self.page = page
#self.nameList = []
#self.linkList = []
self.URL = 'https://movie.douban.com/top250?start='
def GetHTML(self,page):
#for page in rang(10):
url = self.URL + str(page * 25)
request = urllib2.Request(url)
response = urllib2.urlopen(request)
html = response.read().decode('utf-8')
#print html
return html
#链接报错的原因
except urllib2.URLError, e:
if hasattr(e,"reason"):
print u'链接豆瓣电影失败,错误原因:',e.reason
return None
def GetList(self):
#nameLists = []
#linkLists = []
for page in range(10):
print "正在获取电影列表" + str(page+1)
#print str(page)
html = self.GetHTML(page)
#因为title的电影名有些存在两个title标签,所以就在img中去正则匹配
name = re.compile('&img alt="(.*?)".*?&',re.S)
link = re.compile('&div class="hd"&.*?&a.*?href="(.*?)".*?&.*?&/a&',re.S)
nameList = re.findall(name,html)
linkList = re.findall(link,html)
for name in nameList:
#剔除英文名包含“/”
if name.find('/') == -1:
nameLists.append(name)
for link in linkList:
linkLists.append(link)
#nameLists.append(nameList[0].strip())
#linkLists.append(linkList[0].strip())
#print nameList
#print linkList
print "获取完毕"
return nameLists,linkLists
#保存为文本文件 def save_Text(self):
#List = []
#List = self.GetList(page)
f = open('D:\learn\date.txt','a')
for i in range(250):
#循环写入名称和地址
f.write(nameLists[i])
f.write('\t'*3)
f.write(linkLists[i])
f.write('\n')
except Exception as e:
print u"文件存储结束"
#保存为excel格式 def save_Excel(self):
#List = []
#List = self.GetList()
#新建workbook
wb = openpyxl.Workbook()
#去工作表的sheet页
sheet = wb.get_active_sheet()
#sheet页命名
sheet.title = 'Move Top 250'
for i in range(1,251):
one = 'a' + str(i) #a1,a列
two = 'b' + str(i) #b2,b列
sheet[one] = nameLists[i-1]
sheet[two] = linkLists[i-1]
#print nameLists[i-1]
#print linkLists[i-1]
#保存文件格式,文件名为中文
wb.save(ur'D:/learn/豆瓣电影TOP250.xlsx')
except Exception as e:
print 'Excel 文件存储结束'
#保存到数据库中本地 def save_Mysql(self):
#List = []
#List = self.GetList()
#链接数据库
conn = MySQLdb.connect(
host='localhost',
port=3306,
user='root',
passwd='lebb123',
db='pytest',
charset='utf8'
#获取操作游标
cursor = conn.cursor()
print 'Connecting to MYSQL Success'
#如果表存在就删除
cursor.execute('Drop table if EXISTS MovieTop')
time.sleep(3)
#创建一个数据库表
cursor.execute(
"""create table if not EXISTS MovieTop(
id int(4) not null primary key auto_increment,
movieName varchar(200),
link varchar(200));"""
for i in range(250):
#插入数据库数据sql
sql = 'insert into MovieTop(movieName,link) VALUES (%s,%s)'
param = (nameLists[i],linkLists[i])
#print nameLists[i],linkLists[i]
cursor.execute(sql,param)
#提交到数据库执行
conn.commit()
cursor.close()
conn.close()
except Exception as e:
print "Data Success Save in MYSQL"
def Start(self):
self.GetList()
self.save_Text()
self.save_Excel()
#wb = self.save_Excel()
self.save_Mysql()
dytop = TopMove()dytop.Start()
阅读(...) 评论()&>&python爬虫后的数据按照URL进行归类存储
python爬虫后的数据按照URL进行归类存储
上传大小:10.47MB
如爬虫数据,每个ID对应一个URL,按照每条数据中的URL中的数字为文件名进行归类,将具有相同URL的ID存在csv中。
1、第一步把这两个文件都放在桌面,桌面新建一个文件夹名为,如“洗发水”
2、第二步打开洗发水测试csv文件,内容为空,打开你原始的洗发水xlsx文件的内容,将其(Ctrl+A)全部复制到洗发水测试csv中,稍微等待一会,这样做防止程序乱码
3、打开工程文件运行,点击执行
综合评分:0
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
大凯Loliko
综合评分:
积分/C币:5
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
python爬虫后的数据按照URL进行归类存储
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
langh_tongji
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
python爬虫后的数据按照URL进行归类存储

我要回帖

更多关于 python 爬虫 数据存储 的文章

 

随机推荐