xlrd 与 xlsxwritter 的基本操作+配合faker库

import xlrd as xl
data = xl.open_workbook("hypothetical data 0.xls")

现在我们已经导入了xls表格里的数据(注意,xlrd版本更新之后只能处理xls后缀的文件)

现在针对工作表做读取操作


  • 获取工作表的信息
    • 工作簿中工作表的数量
    • work_sheets = data.nsheets
    • 列表形式下的所有表的名字字符串
    • work_names = data.sheet_names()
    • 获取具体工作表  三种方式
    • sheet_index = 1
      work_sheet = data.sheets()[sheet_index]
      work_sheet = data.sheet_by_index(sheet_index)
      
      sheet_name = "Sheet2"
      work_sheet = data.sheet_by_name(sheet_name)
      
    • 检查是否导入工作表
    • #检查是否导入工作表
      check = data.sheet_loaded(sheet_name)
      check = data.sheet_loaded(sheet_index)
  • 现在我们需要从一个工作表中获取数据
    • 这里还给出了单元格的数据类型
    • 如果没有带上_values的话。会得到一个字典 

  • 获取工作表名称
sheet_name = work_sheet.name
  • 获取工作表中的有效行数 / 列col
all_rows = work_sheet.nrows
  • 获取指定行所有单元格对象组成的列表 
row_object = work_sheet.row(5)
row_object2 = work_sheet.row_values(5)
  • 单元格的数据类型 
#0:empty
#1:text
#2:number
#3:date
#4:boolean
#5:error
row_type = work_sheet.row_types(5)
  • 指定行有效单元格的长度 
row_length = work_sheet.row_len(5)
  • 获取工作表所有行的生成器 
rows_generator = work_sheet.get_rows()
  • 获得指定单元格的内容 
#获得指定单元格的内容
rowx,colx = 1,1
cell_object = work_sheet.cell(rowx,colx)
cell_value = work_sheet.cell_value(rowx,colx)
cell_value2 = cell_object.value
  • 接下来是读取日期: 
#读取日期
#excel中的日期是相对于基准时间  1900-01-01 为起点(1)的天数数值
#Python中的日期一般也已它为基准
col_content = work_sheet.col_values(4)
col_type = work_sheet.col_types(4)
#0表示1900-01-01  1表示1904-01-01
date_cell = xl.xldate_as_tuple(work_sheet.cell_value(4,4),0)
date_cell = xl.xldate_as_datetime(work_sheet.cell_value(4,4),0)
  • 如果要写入文件的话:

import xlsxwriter as xls
  • 创建工作簿 
workbook = xls.Workbook("new_excel.xlsx")
  • 创建工作表  
worksheet = workbook.add_worksheet("sheet1")
  • 写入数据  
headings = ["Number","testA","testB"]
data = [[1,1,1],
        [2,2,2],
        [3,4,5],
        [5,6,7]]
worksheet.write_row("A1",headings)
worksheet.write_column("A2",data[0])
worksheet.write_column("B2",data[1])
worksheet.write_column("C2",data[2])
  • 设置单元格的格式  
workfomat = workbook.add_format()
workfomat.set_bold(1)  #设置边框宽度为1
workfomat.set_num_format("0.00")  #格式化数据为小数点后两位
workfomat.set_align("center")  #对齐方式
workfomat.set_fg_color("blue") #设置背景颜色
  • 合并单元格  
worksheet.merge_range("D1:D7","需要写在单元格里的东西")
  • 改变单元格宽度 
worksheet.set_column("D:E",30)
  • 插入图片  
worksheet.insert_image("E1","绝对路径")

其实 在excel表的操作中,读取从来不是最困难的问题

在用Python解决问题的过程中,最困难的是运算能力和运算速度的问题

运算速度是解决实际问题的最困难的一点

faker库

faker库伪造信息

  • 导入包并将环境设置为中国并设置随机数种子
from faker import Faker
Faker.seed(0)
faker1 = Faker(locale="zh_CN")

"zh_CN" 是语言国家代码。列出一些国家和地区

zh_tw我国台湾地区

en_hk

我国香港地区
en_us美国en_gb英国
ko_kr韩国fr_fr法国
ja_JP日本
  • 姓名
>>> faker1.name()
'徐欢'
  • 电话号码
>>> faker1.phone_number()
'13214950068'
  • 邮箱
>>> faker1.email()
'baijuan@example.net'
  • 地址
>>> faker1.address()
'台湾省秀梅县秀英徐街o座 780106'
  • 公司
>>> faker1.company()
'通际名联信息有限公司'
  • 一套人员档案
>>> faker1.profile()
{'job': '房产项目配套工程师', 'company': '雨林木风计算机网络有限公司', 'ssn': '652826199405269712', 'residence': '香港特别行政区飞市浔阳齐街X座 860136', 'current_location': (Decimal('-66.7915655'), Decimal('110.508244')), 'blood_group': 'A-', 'website': ['https://www.juanxiang.net/', 'https://www.wangfan.cn/', 'http://www.jingfang.cn/'], 'username': 'xiulanchen', 'name': '徐帅', 'sex': 'F', 'address': '福建省汕尾县花溪阜新路y座 685413', 'mail': 'ima@hotmail.com', 'birthdate': datetime.date(1960, 11, 30)}
  • text方法 
>>> faker1.text()
'最大大学当前详细技术深圳是一.已经以下全部我们然后学习.\n首页您的城市有些计划介绍这么控制.建设解决类型大学设备评论只是.现在那些发展控制.\n计划作为类型无法类别.简介全部搜索的人提供这是新闻网站.结果发现关系.\n已经一点的是地方.状态标准提供今年.\n其中无法来源具有.她的关于提供帖子方面.\n有些工具计划相关影响责任质量.能力两个记者留言今年.比较方法分析.'

官网

Welcome to Faker’s documentation! — Faker 15.0.0 documentation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

River Chandler

谢谢,我会更努力学习工作的!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值