更新时辰:2019年10月09日16时03分 来历:传智播客 阅读次数:
Python爬虫数据若何写入Execl文件并天生图表?
需要:为了做测试或对爬虫法式爬取数据停止阐发汇总,咱们经常会将数据天生报表,可是若是咱们想将报表天生在Excel中,这时辰便能够借助xlsxwriter第三方包来天生图表。
阐发:为天生excel筹办多维数组范例的数据->数据拔出到Excel中->对数据按系列分别天生图表。【保举领会:python+野生智能课程】
第一步:筹办数据:
利用爬虫爬取收集上对热点岗亭的数据并天生多维数组范例,以下:
data = [
["IOS岗亭数", "Android岗亭数", "Python岗亭数", "物联网岗亭数", "Go与区块链岗亭数"],
[2000, 4000, 60000, 8000, 1000],
]
第二步:将数据拔出Excel中
起首要建立一个Excel文件,而后在Excel中建立一个sheet表单页,最初将数据拔出到sheet表单页中
1、建立一个Excel东西
workbook = xlsxwriter.Workbook(“Excel名字.xlsx”)
2、基于Excel东西建立一个sheet表单东西
worksheet = workbook.add_worksheet(name=“sheet表单的名字,不填写就默许为sheet1")
3、将数据写入sheet表单页worksheet
worksheet.write_row( row, col, data, cell_format=None)
worksheet.write_column(row, col, data, cell_format=None)
3.1、能够用A1表现第一行第一列的阿谁单位格,这个时辰前面的data能够是个数组,间接拔出一行数据
worksheet.write_column("A1", 一列数据, 款式(非必填项))
worksheet.write_row("A1", 一行数据, 款式(非必填项))
详细代码以下:
# Write some data to add to plot on the chart.
data = [
["IOS岗亭数", "Android岗亭数", "Python岗亭数", "物联网岗亭数", "Go与区块链岗亭数"],
[2000, 4000, 60000, 8000, 1000],
]
worksheet.write_column('A1', data[0])
worksheet.write_column('B1', data[1])
第三步:天生图表
1.经由过程Workbook add_chart()方式建立图表东西,此中指定了图表范例:
chart = workbook.add_chart({'type': 'column'})
经由过程type界说图标的范例,比方是柱形图仍是饼图
撑持的图表范例是:
area:建立地区(实线)款式图表。
bar:建立条形款式(转置直方图)图表。
column:建立列款式(直方图)图表。
line:建立线型图表。
pie:建立饼图款式图表。
doughnut:建立圆环款式图表。
scatter:建立散点图款式图表。
stock:建立库存款式图表。
radar:建立雷达款式图表。
代码以下:
# Create a new Chart object.
chart = workbook.add_chart({'type': 'column'})
2、增加图标要统计的数据,统一个报表能够增加多个系列
代码以下:
chart.add_series({
'categories': '=Sheet1!$A$1:$A$5',
'values': '=Sheet1!$B$1:$B$5',
'line': {'color': 'red'},
'name': '各岗亭数汇总',
})
categories:这将设置图表种别标签。该种别与X轴大抵不异。在大大都图表范例中,该categories 属性是可选的,图表将仅假定一个挨次系列 1..n。
values:这是系列中最主要的属性,是每一个图表东西的独一必需选项。此选项将图表与其显现的任务表数据相链接。能够利用下面第一个示例中所示的公式或利用第二个示例中所示的值列表来设置数据规模。
line:设置系列线型的属性,如色彩和宽度。请参见图表格局:行。
name:设置系列的称号。称号显现在公式栏中。对非饼图/圆环图,它也会显现在图例中。name属性是可选的,若是未供给,则默许为。称号也能够是公式,比方,包罗任务表称号,行和列的列表。Series 1..n=Sheet1!$A$1['Sheet1', 0, 0]
以下图所示:
3、给图表界说名字和款式
代码以下:
chart.set_title({'name': '各岗亭数汇总_图表'})
chart.set_style(10)
4、将图表拔出到Excel中
代码以下:
# Insert the chart into the worksheet.
worksheet.insert_chart('A7', chart)
5、封闭保管点窜
代码以下:
workbook.close()