zoukankan      html  css  js  c++  java
  • 爬虫与Python:(四)爬虫进阶二之数据存储(文件存储)——4.Excel文件存储

    实现对Excel文件的操作,需要引入第三方模块——xlwt、xlwr。

    • wlwt:实现对Excel文件的写入。
    • xlwr:实现对Excel文件内容的读取。

    写入Excel文件示例代码如下:

     1 import xlwt
     2 
     3 # 写入Excel文件
     4 '''
     5 设置格式
     6 @:param name 字体
     7 @:param height 高度
     8 @:param bold 是否加粗
     9 '''
    10 def set_style(name, height , bold=False):
    11     style = xlwt.XFStyle()
    12     font = xlwt.Font()
    13     font.name = name
    14     font.bold = bold
    15     font.colour_index = 4
    16     font.height = height
    17     style.font = font
    18     return  style
    19 
    20 '''
    21 写入excel表格
    22 @:param path 文件路径
    23 '''
    24 def write_excel(path):
    25     workbook = xlwt.Workbook(encoding='utf-8')
    26     data_sheet = workbook.add_sheet('demo') # 创建工作簿
    27     row0=[u'字段名称',u'大致时段','CRNT','CELL-ID']
    28     row1=[u'测试','15:50:33-15:52:14',22706,4190202]
    29     # 循环为单元格写入数据
    30     for i in range(len(row0)):
    31         data_sheet.write(0,i ,row0[i],set_style("Times New Roman",220 ,True))   # 写操作
    32         data_sheet.write(1,i ,row1[i],set_style("Times New Roman",220 ,True))
    33     workbook.save(path)     # 保存工作簿
    34 
    35 
    36 if __name__ == '__main__':
    37     path = 'demo.xls'
    38     write_excel(path)       # 写入Excel
    39     print('创建demo.xls文件成功')

    运行后生成了一个Excel文件,内容如图1所示。

     图1

    关键代码如下:

    1 workbook = xlwt.Workbook(encoding='utf-8')  # 实例化Workbook
    2 data_sheet = workbook.add_sheet('demo') # 创建sheet
    3 workbook.save(path)  # 保存文件
    4 data_sheet.write(行,列,value)  # 写操作

    使用xlrd模块对Excel文件进行读取,示例代码如下:

     1 # 对Excel文件进行读操作
     2 import xlrd
     3 
     4 Workbook = xlrd.open_workbook('demo.xls')
     5 
     6 sheet_names = Workbook.sheet_names()
     7 sheet1 = Workbook.sheet_by_name('demo')
     8 sheet1 = Workbook.sheet_by_index(0)
     9 rows = sheet1.row_values(1)
    10 cols10 = sheet1.col_values(1)
    11 print('rows',rows)
    12 print('cols10',cols10)

    参数说明如下:

    1.  xlrd.open_workbook() :表示打开Excel文件。
    2.  Workbook.sheet_by_name('demo') :表示获取所在的sheet表数据。
    3.  Workbook.sheet_by_index(0) :表示获取第一张sheet表名称,根据索引来取值,从0开始。
    4.  rows = sheet1.row_values(1) :表示获取sheet1中第2行数据。
    5.  cols10 = sheet1.col_values(1) :表示获取sheet1中第二列数据。
    有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
  • 相关阅读:
    POJ 3710 Christmas Game#经典图SG博弈
    POJ 2599 A funny game#树形SG(DFS实现)
    POJ 2425 A Chess Game#树形SG
    LeetCode Array Easy 122. Best Time to Buy and Sell Stock II
    LeetCode Array Easy121. Best Time to Buy and Sell Stock
    LeetCode Array Easy 119. Pascal's Triangle II
    LeetCode Array Easy 118. Pascal's Triangle
    LeetCode Array Easy 88. Merge Sorted Array
    ASP.NET MVC 学习笔记之 MVC + EF中的EO DTO ViewModel
    ASP.NET MVC 学习笔记之面向切面编程与过滤器
  • 原文地址:https://www.cnblogs.com/luyj00436/p/15434347.html
Copyright © 2011-2022 走看看