python 爬虫前奏八 xlsxwriter 模块的使用

    科技2022-07-11  75

    1、基本功能

    1.1、导入模块

    import xlsxwriter

    1.2、新建excel表

    workbook = xlsxwriter.Workbook('1.xlsx')

    1.3、新建sheet

    worksheet = workbook.add_worksheet('sheet1')

    1.4、行写入

    worksheet.write_row('A1', ['日期', '标题', '内容'])

    1.5、列写入

    worksheet.write_column('D2',["无","无"])

    1.6、单元格写入

    worksheet.write('A3',"2020-10-04") worksheet.write('B3',"price") worksheet.write('C3',"10.99")

    1.9、关闭

    workbook.close()

    1.8、完整代码

    import xlsxwriter workbook = xlsxwriter.Workbook('C:/Users/admin/Desktop/1.xlsx') worksheet = workbook.add_worksheet() # 创建一个sheet worksheet.write_row('A1', ['日期', '标题', '内容']) worksheet.write_row('A2', ["2020-10-03", "price", "20.99"]) worksheet.write('A3',"2020-10-04") worksheet.write('B3',"price") worksheet.write('C3',"10.99") workbook.close()

    效果

    1.9、其他功能

    writer_number() #向单元格中写入数字 write_blank() #将一个空白写入单元格 write_string() #将字符串写入单元格 write_formula() #填入公式 write_array_formula() #写入公式 write_datetime() #填写日期 # 必须填入date,time 对象 write_boolean() #填入Boolean值 write_url() #填入url write_rich_string(row, col, *args) #填写多种格式的字符串 write() #调用适当的write方法 insert_image() #插入图片 insert_textbox() #插入文本框 insert_chart() #插入图表 write_comment() #为单元格添加注释 show_comments() #展示单元格注释 set_comments_author() #设置评论作者 get_name() #获取工作表的名称 activate() #将工作表设置为活跃的,打开excel 第一个显示的表 select() #将工作表设置为选中工作表,高亮显示 hide() #隐藏选中的工作表 set_column() #设置列的宽度 set_first_sheet() #将当前工作表设置为第一个可见的表 set_row() #设置行的宽度及其他属性值 set_default_row() #设置默认行属性 hide_unused_rows() #隐藏未使用的行 merge_range() #合并单元格 autofilter() #在工作表中设置自动过滤区域 filter_column() #设置筛选滤条件 criteria() #筛选条件 filter_column_list() #在excel2007 列表样式中设置筛选标准 data_validation() #添加数据验证 conditional_format() #向工作表中添加一个条件格式 add_table() #向excel中添加一个工作表 add_sparkline() #添加微线图 set_selection() #设置选定的单元格 dset_zoom() #设置缩放 10-400 freeze_panes() #创建工作表窗格,并设置为冻结 split_panes() #创建工作表窗格,并将其标记为分割 hide_zero()() #自工作表中隐藏0值 set_tab_color() #设置 工作表选项卡的颜色 protect() #设置工作的密码和保护项 options() #用于保护的工作表对象的字典 insert_button() #插入一个button表单对象 set_footer() #设置页脚标题和可选的页边距 set_header() #设置页面标题标题和可选的页边距 set_margins() #将所有的页边距设置为英寸 set_paper() #设置纸张类型 papaer_size: A4=9 set_portrait() #将页面朝向设置为竖向 set_landscape() #将页面的朝向设置为横向

    2、常用功能

    2.1、插入折线图

    import xlsxwriter test = [ ['2020-10-03',100,210], ['2020-10-02',120,230], ['2020-10-01',150,244], ['2020-09-30',180,230], ['2020-09-29',190,160], ['2020-09-28',170,330] ] # 连接excel,无则创建,但是不能创建路径 workbook = xlsxwriter.Workbook('C:/Users/admin/Desktop/1.xlsx') # 创建新的sheet worksheet = workbook.add_worksheet('sheet1') # 添加标题 headings = ['日期', '门店1', '门店2'] worksheet.write_row('A1', headings) # 添加数据 length = len(test) for row in range(1,length): worksheet.write_row('A'+str(row+1), test[row]) # 设置列宽 worksheet.set_column(0,0,10) # 新建图表格式 line为折线图 chart_col = workbook.add_chart({'type': 'line'}) # 给图表设置格式,填充内容 chart_col.add_series( { 'name': '=sheet1!$B$1', 'categories': '=sheet1!$A$2:$A$6', 'values': '=sheet1!$B$2:$B$6', 'line': {'color': 'red'}, 'data_labels': {'value': True} } ) chart_col.add_series( { 'name': '=sheet1!$C$1', 'categories': '=sheet1!$A$2:$A$6', 'values': '=sheet1!$C$2:$C$6', 'line': {'color': 'blue'}, 'data_labels': {'value': True} } ) # 设置图表表头及坐标轴 chart_col.set_title({'name': '测试'}) chart_col.set_x_axis({'name': "日期"}) chart_col.set_y_axis({'name': '销售额'}) chart_col.set_style(1) # 放置图表位置 worksheet.insert_chart('A10', chart_col, {'x_offset': 25, 'y_offset': 10}) workbook.close()

    2.2、设置单元格的格式

    workfomat = workbook.add_format({ 'bold': True, #字体加粗 'border':1, #单元格边框宽度 'align': 'center', #对齐方式 'valign': 'vcenter', #字体对齐方式 'fg_color': 'red', #单元格背景颜色 'text_wrap': True, # 是否自动换行 }) worksheet.write_row('A1', headings,workfomat)

    2.3、合并单元格

    worksheet.merge_range('D1:D7','合并单元格')

    3、xlsxwriter优缺点

    3.1、xlsxwriter 优点

    功能比较强

    相对而言,这是除Excel自身之外功能最强的工具了。比如我就用到了它提供的:字体设置、前景色背景色、

    border设置、视图缩放(zoom)、单元格合并、autofilter、freeze panes、公式、data validation、

    单元格注释、行高和列宽设置等等

    支持大文件写入

    3.2、xlsxwriter 缺点

    不支持读取和修改不支持XLS文件

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Processed: 0.008, SQL: 8