xlrd 订阅
Python语言中,读取Excel的扩展工具。(意为:xls文件read库,只能读。若写入,要用xlwt,意为:xls文件write写入库。)可以实现指定表单、指定单元格的读取。使用时请确保已经安装python环境。 展开全文
Python语言中,读取Excel的扩展工具。(意为:xls文件read库,只能读。若写入,要用xlwt,意为:xls文件write写入库。)可以实现指定表单、指定单元格的读取。使用时请确保已经安装python环境。
信息
外文名
python
xlrd用法介绍
示例:1、导入扩展包import xlrd2、打开Excel文件读取数据data = xlrd.open_workbook('excelFile.xls') [1]  3、使用技巧获取一个工作表table = data.sheets()[0] #通过索引顺序获取table = data.sheet_by_index(0) #通过索引顺序获取table = data.sheet_by_name(u'Sheet1')#通过名称获取获取整行和整列的值(数组)table.row_values(i)table.col_values(i)获取行数和列数nrows = table.nrowsncols = table.ncols循环行列表数据for i in range(nrows ):print table.row_values(i)单元格table.cell(rowx,colx)cell_A1 = table.cell(0,0).valuecell_C4 = table.cell(3,2).value使用行列索引cell_A1 = table.row(0)[0].valuecell_A2 = table.col(1)[0].value简单的写入row = 0col = 0# 类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 errorctype = 1value = '单元格的值'xf = 0# 扩展的格式化table.put_cell(row, col, ctype, value, xf)table.cell(0,0) #单元格的值'table.cell(0,0).value #单元格的值'
收起全文
精华内容
下载资源
问答
  • xlrd

    千次阅读 2018-04-26 21:59:25
    import xlrd 2、打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') 3、使用技巧 #获取一个工作表 table = data.sheets()[0] #通过索引顺序获取 table = data.sheet_by_index(0) #通过索引顺序获取 ...
    1、导入模块
    import xlrd
    2、打开Excel文件读取数据
    data = xlrd.open_workbook('excelFile.xls')
    3、使用技巧
    #获取一个工作表
    table = data.sheets()[0]          #通过索引顺序获取
    table = data.sheet_by_index(0) #通过索引顺序获取
    table = data.sheet_by_name(u'Sheet1')#通过名称获取
    #获取整行和整列的值(数组)
    table.row_values(1, start_colx=0, end_colx=None)
    Out[10]: ['', '公司相关材料清单,此表中的材料请提供加盖公章的复印件扫描件', '']
    table.col_values(1, start_rowx=0, end_rowx=None)
    Out[11]: 
    ['',
     '公司相关材料清单,此表中的材料请提供加盖公章的复印件扫描件',
     '1.营业执照正副本',
     '3.企业法人身份证',
     '5.最新一期审计报告',
     '7.风控内控制度文件',
     '',
     '',
     '',
     '产品层面材料清单,此表中的材料请以Excel形式提供',
     '1.旗下各个策略代表性产品自成立以来的每日或者每周净值序列(最新净值至少更新到2017年4月底)',
     '2.旗下各个策略代表性产品持仓数据(可选)',
     '']
     # 获取行数和列数
    nrows = table.nrows
    ncols = table.ncols
    #循环行列表数据
    for i in range(nrows ):
        print table.row_values(i)
    #单元格
    cell_A1 = table.cell(0,0).value
    cell_A1
    Out[17]: ''
    cell_A1 = table.cell(3,2).value
    cell_A1
    Out[19]: '4.私募投资基金管理人登记证明'
    #使用行列索引
    cell_A1 = table.row(3)[2].value
    cell_A1
    Out[21]: '4.私募投资基金管理人登记证明'
    cell_A1 = table.col(2)[3].value
    cell_A1
    Out[23]: '4.私募投资基金管理人登记证明'
    # 简单的写入
    row, col = 0, 0
    ctype=1; value="值"
    xf =0
    table.put_cell(row, col, ctype, value, xf)
    table.cell(0,0)
    Out[28]: text:'值'
    
    table
    Out[29]: <xlrd.sheet.Sheet at 0x24e1dae5c88>
    #get_rows()
    #Returns a generator for iterating through each row.
    #返回每行的generator
    for x in table.get_rows():
        print(x)
    
    [text:'值', empty:'', empty:'']
    [empty:'', text:'公司相关材料清单,此表中的材料请提供加盖公章的复印件扫描件', empty:'']
    [empty:'', text:'1.营业执照正副本', text:'2.组织机构代码证']
    [empty:'', text:'3.企业法人身份证', text:'4.私募投资基金管理人登记证明']
    [empty:'', text:'5.最新一期审计报告', text:'6.近三年财务报表']
    [empty:'', text:'7.风控内控制度文件', empty:'']
    [empty:'', empty:'', empty:'']
    [empty:'', empty:'', empty:'']
    [empty:'', empty:'', empty:'']
    [empty:'', text:'产品层面材料清单,此表中的材料请以Excel形式提供', empty:'']
    [empty:'', text:'1.旗下各个策略代表性产品自成立以来的每日或者每周净值序列(最新净值至少更新到2017年4月底)', empty:'']
    [empty:'', text:'2.旗下各个策略代表性产品持仓数据(可选)', empty:'']
    [text:'§:请勿删除该符号,并确保填写内容在该符号上方', empty:'', empty:'']
    

    根据索引

    #-*-coding:utf-8-*-
    import xlrd
    def open_excel(file='file.xls'):
        try:
            data=xlrd.open_workbook(file)
            return data
        except Exception as e:
            print(str(e))
    
    # 根据索引获取Excel表格中的数据参数:file:Excel文件路径colname_index:表头列名所在行的所以,by_index:表的索引
    
    def excel_table_byindex(file=None,colname_index=0,by_index=0):
        data = open_excel(file)
        table = data.sheets()[by_index]
        nrows = table.nrows  # 行数
        ncols = table.ncols  # 列数
        colnames = table.row_values(colname_index)  # 某一行数据 #提取列名['列一', '列二', '列三']
        # row_values(行值:0行的值既是列名)
        res_list = []
        for rownum in range(1, nrows):
            row = table.row_values(rownum)  # 一行行遍历,list类型
            if row:
                app = {}
                for i in range(len(colnames)):
                    app[colnames[i]] = row[i]
                    res_list.append(app)
        return res_list  # dict
    
    if __name__ == "__main__":
        excel_table_byindex(file='C:\\Users\\chaoLi\\Downloads\\汇升尽调模板.xlsx')

    根据sheet名

    #-*-coding:utf-8-*-
    import xlrd
    def open_excel(file='file.xls'):
        try:
            data=xlrd.open_workbook(file)
            return data
        except Exception as e:
            print(str(e))
    
    # 根据名称获取Excel表格中的数据参数:file:Excel文件路径colname_index:表头列名所在行的所以,by_name:Sheet1名称
    def excel_table_byname(file='file.xls',colname_index=0,by_name=u'0.项目概要与填写说明'):
        data = open_excel(file)
        table=data.sheet_by_name(by_name)  # data.sheet_names() 获取sheet名
        nrows=table.nrows#行数
        colnames=table.row_values(colname_index)#某一行数据
        res_list=[]
        for rownum in range(1,nrows):
            row=table.row_values(rownum)
            if row:
                app={}
                for i in range(len(colnames)):
                    app[colnames[i]]=row[i]
                    res_list.append(app)
        return res_list
    
    def main():
        tables=excel_table_byname(file="C:\\Users\\chaoLi\\Downloads\\汇升尽调模板.xlsx")
        for row in tables:
            print(row)  # {'列名':'下面某行的值'}
    
    if __name__ == "__main__":
        main()
    展开全文
  • 原因是最近xlrd更新到了2.0.1版本,只支持.xls文件。所以pandas.read_excel(‘xxx.xlsx’)会报错。 可以安装旧版xlrd,在cmd中运行: pip uninstall xlrd pip install xlrd==1.2.0

    原因是最近xlrd更新到了2.0.1版本,只支持.xls文件。所以pandas.read_excel(‘xxx.xlsx’)会报错。

    可以安装旧版xlrd,在cmd中运行:

    pip uninstall xlrd
    pip install xlrd==1.2.0

    也可以用openpyxl代替xlrd打开.xlsx文件:

    df=pandas.read_excel(‘data.xlsx’,engine=‘openpyxl’)

    展开全文
  • 本文介绍一下使用Python对Excel文件的基本操作,包括使用xlrd模块读取excel文件,使用xlwt模块将数据写入excel文件,使用openpyxl模块读取写入和修改excel文件。 目录 1、使用xlrd模块对xls文件进行读操作 1.1...

     

    本文介绍一下使用Python对Excel文件的基本操作,包括使用xlrd模块读取excel文件,使用xlwt模块将数据写入excel文件,使用openpyxl模块读取写入和修改excel文件。

    【最近一些朋友反映个别代码无法调试(但是在我这里没问题),这里代码我都是调试过的,之前一年也没有朋友反馈过这些问题,所以大概率是版本问题。

    我的版本如下: xlrd 1.1.0 、xlwt 1.3.0 、openpyxl 2.5.4 】

     

    目录

    1、使用xlrd模块对xls文件进行读操作

    1.1 获取工作簿对象

    1.2 获取工作表对象

    1.3 获取工作表的基本信息

    1.4 按行或列方式获得工作表的数据

    1.5 获取某一个单元格的数据

    2、使用xlwt模块对xls文件进行写操作

    2.1 创建工作簿

    2.2 创建工作表

    2.3 按单元格的方式向工作表中添加数据

    2.4 按行或列方式向工作表中添加数据

    2.5 保存创建的文件

     3、使用openpyxl模块对xlsx文件进行读操作

    3.1 获取工作簿对象

    3.2 获取所有工作表名

    3.3 获取工作表对象

    3.4 根据索引方式获取工作表对象

    3.5 获取工作表的属性

    3.6 按行或列方式获取表中的数据

    3.7 获取特定行或特定列的数据

    3.8 获取某一块的数据

    3.9 获取某一单元格的数据

    4、使用openpyxl模块对xlsx文件进行写操作

    4.1 创建工作簿和获取工作表

    4.2 创建新的工作表

    4.3 将数据写入工作表

    4.4 保存工作簿

    5、修改已经存在的工作簿(表)

    5.1 插入一列数据

    5.2 修改特定单元格

    5.3 批量修改数据


    1、使用xlrd模块对xls文件进行读操作

    假设我们的表如下,是一个“农村居民家庭人均纯收入和农村居民家庭人均消费情况”的表格。后缀为.xls。里面包含两个工作表,“各省市”和“测试表”。

    提一下,一个Excel文件,就相当于一个“工作簿”(workbook),一个“工作簿”里面可以包含多个“工作表(sheet)”

     

    1.1 获取工作簿对象

    引入模块,获得工作簿对象。

    
    import xlrd  #引入模块
    
    #打开文件,获取excel文件的workbook(工作簿)对象
    workbook=xlrd.open_workbook("DataSource/Economics.xls")  #文件路径
    
    
    

    1.2 获取工作表对象

    我们知道一个工作簿里面可以含有多个工作表,当我们获取“工作簿对象”后,可以接着来获取工作表对象,可以通过“索引”的方式获得,也可以通过“表名”的方式获得。

    '''对workbook对象进行操作'''
    
    #获取所有sheet的名字
    names=workbook.sheet_names()
    print(names) #['各省市', '测试表']  输出所有的表名,以列表的形式
    
    #通过sheet索引获得sheet对象
    worksheet=workbook.sheet_by_index(0)
    print(worksheet)  #<xlrd.sheet.Sheet object at 0x000001B98D99CFD0>
    
    #通过sheet名获得sheet对象
    worksheet=workbook.sheet_by_name("各省市")
    print(worksheet) #<xlrd.sheet.Sheet object at 0x000001B98D99CFD0>
    
    #由上可知,workbook.sheet_names() 返回一个list对象,可以对这个list对象进行操作
    sheet0_name=workbook.sheet_names()[0]  #通过sheet索引获取sheet名称
    print(sheet0_name)  #各省市
    
    

    1.3 获取工作表的基本信息

    在获得“表对象”之后,我们可以获取关于工作表的基本信息。包括表名、行数与列数。

    '''对sheet对象进行操作'''
    name=worksheet.name  #获取表的姓名
    print(name) #各省市
    
    nrows=worksheet.nrows  #获取该表总行数
    print(nrows)  #32
    
    ncols=worksheet.ncols  #获取该表总列数
    print(ncols) #13
    

    1.4 按行或列方式获得工作表的数据

    有了行数和列数,循环打印出表的全部内容也变得轻而易举。

    for i in range(nrows): #循环打印每一行
        print(worksheet.row_values(i))  #以列表形式读出,列表中的每一项是str类型
    #['各省市', '工资性收入', '家庭经营纯收入', '财产性收入', ………………]
    #['北京市', '5047.4', '1957.1', '678.8', '592.2', '1879.0,…………]
    
    col_data=worksheet.col_values(0)  #获取第一列的内容
    print(col_data)
    
    

    1.5 获取某一个单元格的数据

     我们还可以将查询精确地定位到某一个单元格。

    在xlrd模块中,工作表的行和列都是从0开始计数的。

    #通过坐标读取表格中的数据
    cell_value1=sheet0.cell_value(0,0)
    cell_value2=sheet0.cell_value(1,0)
    print(cell_value1)  #各省市
    print(cell_value2)   #北京市
    
    cell_value1=sheet0.cell(0,0).value
    print(cell_value1) #各省市
    cell_value1=sheet0.row(0)[0].value
    print(cell_value1)  #各省市

     

     

    2、使用xlwt模块对xls文件进行写操作

    2.1 创建工作簿

    
    # 导入xlwt模块
    import xlwt
    
    #创建一个Workbook对象,相当于创建了一个Excel文件
    book=xlwt.Workbook(encoding="utf-8",style_compression=0)
    
    '''
    Workbook类初始化时有encoding和style_compression参数
    encoding:设置字符编码,一般要这样设置:w = Workbook(encoding='utf-8'),就可以在excel中输出中文了。默认是ascii。
    style_compression:表示是否压缩,不常用。
    '''
    

    2.2 创建工作表

    创建完工作簿之后,可以在相应的工作簿中,创建工作表。

    
    # 创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。
    sheet = book.add_sheet('test01', cell_overwrite_ok=True)
    # 其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是False
    

    2.3 按单元格的方式向工作表中添加数据

    
    # 向表test中添加数据
    sheet.write(0, 0, '各省市')  # 其中的'0-行, 0-列'指定表中的单元,'各省市'是向该单元写入的内容
    sheet.write(0, 1, '工资性收入')
    
    #也可以这样添加数据
    txt1 = '北京市'
    sheet.write(1,0, txt1)  
    txt2 = 5047.4
    sheet.write(1, 1, txt2)

     最后被文件被保存之后,上文语句形成的“工作表”如下所示:

    2.4 按行或列方式向工作表中添加数据

    为了验证这个功能,我们在工作簿中,再创建一个工作表,上个工作表叫“test01”,那么这个工作表命名为“test02”,都隶属于同一个工作簿。在下面代码中test02是表名,sheet2才是可供操作的工作表对象。

    
    #添加第二个表
    sheet2=book.add_sheet("test02",cell_overwrite_ok=True)
    
    
    Province=['北京市', '天津市', '河北省', '山西省', '内蒙古自治区', '辽宁省',
              '吉林省', '黑龙江省', '上海市', '江苏省', '浙江省', '安徽省', '福建省',
              '江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省', '广西壮族自治区',
              '海南省', '重庆市', '四川省', '贵州省', '云南省', '西藏自治区', '陕西省', '甘肃省',
              '青海省', '宁夏回族自治区', '新疆维吾尔自治区']
    
    Income=['5047.4', '3247.9', '1514.7', '1374.3', '590.7', '1499.5', '605.1', '654.9',
            '6686.0', '3104.8', '3575.1', '1184.1', '1855.5', '1441.3', '1671.5', '1022.7',
            '1199.2', '1449.6', '2906.2', '972.3', '555.7', '1309.9', '1219.5', '715.5', '441.8',
            '568.4', '848.3', '637.4', '653.3', '823.1', '254.1']
    
    Project=['各省市', '工资性收入', '家庭经营纯收入', '财产性收入', '转移性收入', '食品', '衣着',
             '居住', '家庭设备及服务', '交通和通讯', '文教、娱乐用品及服务', '医疗保健', '其他商品及服务']
    
    #填入第一列
    for i in range(0, len(Province)):
        sheet2.write(i+1, 0, Province[i])
    
    #填入第二列
    for i in range(0,len(Income)):
        sheet2.write(i+1,1,Income[i])
    
    #填入第一行
    for i in range(0,len(Project)):
        sheet2.write(0,i,Project[i])

    2.5 保存创建的文件

    最后保存在特定路径即可。

    # 最后,将以上操作保存到指定的Excel文件中
    book.save('DataSource\\test1.xls')  

    执行出来的工作表test02如下所示:

     

     

     3、使用openpyxl模块对xlsx文件进行读操作

     

    上面两个模块,xlrd和xlwt都是针对Excel97-2003操作的,也就是以xls结尾的文件。很显然现在基本上都是Excel2007以上的版本,以xlsx为后缀。要对这种类型的Excel文件进行操作要使用openpyxl,该模块既可以进行“读”操作,也可以进行“写”操作,还可以对已经存在的文件做修改。

     

    3.1 获取工作簿对象

    import openpyxl
    
    #获取 工作簿对象
    workbook=openpyxl.load_workbook("DataSource\Economics.xlsx")
    #与xlrd 模块的区别
    #wokrbook=xlrd.open_workbook(""DataSource\Economics.xls)

    3.2 获取所有工作表名

    #获取工作簿 workbook的所有工作表
    shenames=workbook.get_sheet_names()
    print(shenames)  #['各省市', '测试表']
    #在xlrd模块中为 sheetnames=workbook.sheet_names()
    
    #使用上述语句会发出警告:DeprecationWarning: Call to deprecated function get_sheet_names (Use wb.sheetnames).
    #说明 get_sheet_names已经被弃用 可以改用 wb.sheetnames 方法
    shenames=workbook.sheetnames
    print(shenames)  #['各省市', '测试表']
    

    3.3 获取工作表对象

    上一小节获取的工作表名,可以被应用在这一节中,用来获取工作表对象。

    #获得工作簿的表名后,就可以获得表对象
    worksheet=workbook.get_sheet_by_name("各省市")
    print(worksheet)  #<Worksheet "各省市">
    
    #使用上述语句同样弹出警告:DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
    #改写成如下格式
    worksheet=workbook["各省市"]
    print(worksheet)  #<Worksheet "各省市">
    
    #还可以通过如下写法获得表对象
    worksheet1=workbook[shenames[1]]
    print(worksheet1)  #<Worksheet "测试表">

    3.4 根据索引方式获取工作表对象

    上一小节获取工作表对象的方式,实际上是通过“表名”来获取,我们可以通过更方便的方式,即通过“索引”方式获取工作表对象。 

    #还可以通过索引方式获取表对象
    worksheet=workbook.worksheets[0]
    print(worksheet) #<Worksheet "各省市">
    
    #也可以用如下方式
    #获取当前活跃的worksheet,默认就是第一个worksheet
    ws = workbook.active

    3.5 获取工作表的属性

    得到工作表对象后,可以获取工作表的相应属性,包括“表名”、“行数”、“列数”

    #经过上述操作,我们已经获得了第一个“表”的“表对象“,接下来可以对表对象进行操作
    
    name=worksheet.title  #获取表名
    print(name)  #各省市
    #在xlrd中为worksheet.name
    
    #获取该表相应的行数和列数
    rows=worksheet.max_row
    columns=worksheet.max_column
    print(rows,columns)  #32 13
    #在xlrd中为 worksheet.nrows  worksheet.ncols

    3.6 按行或列方式获取表中的数据

    要想以行方式或者列方式,获取整个工作表的内容,我们需要使用到以下两个生成器:

    sheet.rows,这是一个生成器,里面是每一行数据,每一行数据由一个元组类型包裹。

    sheet.columns,同上,里面是每一列数据。

    for row in worksheet.rows:
        for cell in row:
            print(cell.value,end=" ")
        print()
    """
    各省市 工资性收入 家庭经营纯收入 财产性收入 转移性收入 食品 衣着 居住 家庭设备及服务 ……
    北京市 5047.4 1957.1 678.8 592.2 1879.0 451.6 859.4 303.5 698.1 844.1 575.8 113.1 ……
    天津市 3247.9 2707.4 126.4 146.3 1212.6 265.3 664.4 122.4 441.3 315.6 263.2 56.1 ……
    ……
    """
    
    for col in worksheet.columns:
        for cell in col:
            print(cell.value,end=" ")
        print()
    
    '''
    各省市 北京市 天津市 河北省 山西省 内蒙古自治区 辽宁省 吉林省 黑龙江省 上海市 江苏省 浙江省 ……
    工资性收入 5047.4 3247.9 1514.7 1374.3 590.7 1499.5 605.1 654.9 6686.0 3104.8 3575.1 ……
    家庭经营纯收入 1957.1 2707.4 2039.6 1622.9 2406.2 2210.8 2556.7 2521.5 767.7 2271.4  ……
    ……
    '''

    我们可以通过查看sheet.rows 里面的具体格式,来更好的理解代码

    
    for row in worksheet.rows:
        print(row)
    '''
    (<Cell '各省市'.A1>, <Cell '各省市'.B1>, <Cell '各省市'.C1>, <Cell '各省市'.D1>, <Cell '各省市'.E1>,……
    (<Cell '各省市'.A2>, <Cell '各省市'.B2>, <Cell '各省市'.C2>, <Cell '各省市'.D2>, <Cell '各省市'.E2>, ……
    ……
    '''
    #可知,需要二次迭代
    
    for row in worksheet.rows:
        for cell in row:
            print(cell,end=" ")
        print()
    
    '''
    <Cell '各省市'.A1> <Cell '各省市'.B1> <Cell '各省市'.C1> <Cell '各省市'.D1>……
    <Cell '各省市'.A2> <Cell '各省市'.B2> <Cell '各省市'.C2> <Cell '各省市'.D2> ……
    ……
    '''
    #还需要cell.value
    for row in worksheet.rows:
        for cell in row:
            print(cell.value,end=" ")
        print()
    

    3.7 获取特定行或特定列的数据

    上述方法可以迭代输出表的所有内容,但是如果要获取特定的行或列的内容呢?我们可以想到的是用“索引”的方式,但是sheet.rows是生成器类型,不能使用索引。所以我们将其转换为list之后再使用索引,例如用list(sheet.rows)[3]来获取第四行的tuple对象。

    #输出特定的行
    for cell in list(worksheet.rows)[3]:  #获取第四行的数据
        print(cell.value,end=" ")
    print()
    #河北省 1514.7 2039.6 107.7 139.8 915.5 167.9 531.7 115.8 285.7 265.4 166.3 47.0
    
    #输出特定的列
    for cell in list(worksheet.columns)[2]:  #获取第三列的数据
        print(cell.value,end=" ")
    print()
    #家庭经营纯收入 1957.1 2707.4 2039.6 1622.9 2406.2 2210.8 2556.7 2521.5 767.7 2271.4 3084.3……
    
    #已经转换成list类型,自然是从0开始计数。

    3.8 获取某一块的数据

    有时候我们并不需要一整行或一整列内容,那么可以通过如下方式获取其中一小块的内容。

    注意两种方式的区别,在第一种方式中,由于生成器被转换成了列表的形式,所以索引是从0开始计数的。

    而第二种方式,行和列都是从1开始计数,这是和xlrd模块中最大的不同,在xlrd中行和列都是从0计数的,openpyxl之所这么做是为了和Excel表统一,因为在Excel表,就是从1开始计数。

    for rows in list(worksheet.rows)[0:3]:
        for cell in rows[0:3]:
            print(cell.value,end=" ")
        print()
    '''
    各省市 工资性收入 家庭经营纯收入 
    北京市 5047.4 1957.1 
    天津市 3247.9 2707.4 
    '''
    
    for i in range(1, 4):
        for j in range(1, 4):
            print(worksheet.cell(row=i, column=j).value,end=" ")
        print()
    '''
    各省市 工资性收入 家庭经营纯收入 
    北京市 5047.4 1957.1 
    天津市 3247.9 2707.4 
    
    '''

    3.9 获取某一单元格的数据

    有两种方式。

    #精确读取表格中的某一单元格
    content_A1= worksheet['A1'].value
    print(content_A1)
    
    content_A1=worksheet.cell(row=1,column=1).value
    #等同于 content_A1=worksheet.cell(1,1).value
    print(content_A1)
    #此处的行数和列数都是从1开始计数的,而在xlrd中是由0开始计数的

     

     

    4、使用openpyxl模块对xlsx文件进行写操作

    4.1 创建工作簿和获取工作表

    同样的workbook=openpyxl.Workbook() 中“W”要大写。

    import openpyxl
    
    # 创建一个Workbook对象,相当于创建了一个Excel文件
    workbook=openpyxl.Workbook()
    #wb=openpyxl.Workbook(encoding='UTF-8')
    
    #获取当前活跃的worksheet,默认就是第一个worksheet
    worksheet = workbook.active
    worksheet.title="mysheet"

    4.2 创建新的工作表

    worksheet2 = workbook.create_sheet()   #默认插在工作簿末尾
    #worksheet2 = workbook.create_sheet(0)  #插入在工作簿的第一个位置
    worksheet2.title = "New Title"

    4.3 将数据写入工作表

    #以下是我们要写入的数据
    Province=['北京市', '天津市', '河北省', '山西省', '内蒙古自治区', '辽宁省',
              '吉林省', '黑龙江省', '上海市', '江苏省', '浙江省', '安徽省', '福建省',
              '江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省', '广西壮族自治区',
              '海南省', '重庆市', '四川省', '贵州省', '云南省', '西藏自治区', '陕西省', '甘肃省',
              '青海省', '宁夏回族自治区', '新疆维吾尔自治区']
    
    Income=['5047.4', '3247.9', '1514.7', '1374.3', '590.7', '1499.5', '605.1', '654.9',
            '6686.0', '3104.8', '3575.1', '1184.1', '1855.5', '1441.3', '1671.5', '1022.7',
            '1199.2', '1449.6', '2906.2', '972.3', '555.7', '1309.9', '1219.5', '715.5', '441.8',
            '568.4', '848.3', '637.4', '653.3', '823.1', '254.1']
    
    Project=['各省市', '工资性收入', '家庭经营纯收入', '财产性收入', '转移性收入', '食品', '衣着',
             '居住', '家庭设备及服务', '交通和通讯', '文教、娱乐用品及服务', '医疗保健', '其他商品及服务']
    
    #写入第一行数据,行号和列号都从1开始计数
    for i in range(len(Project)):
        worksheet.cell(1, i+1,Project[i])
    
    #写入第一列数据,因为第一行已经有数据了,i+2
    for i in range(len(Province)):
        worksheet.cell(i+2,1,Province[i])
    
    #写入第二列数据
    for i in range(len(Income)):
        worksheet.cell(i+2,2,Income[i])
    

    4.4 保存工作簿

    workbook.save(filename='DataSource\\myfile.xlsx')

    最后运行结果如下所示:

     

     

    5、修改已经存在的工作簿(表)

    5.1 插入一列数据

    将第四节中最后保存的myfile.xlsx作为我们要修改的表格,我们计划在最前面插入一列“编号”,如下所示:

    import openpyxl
    
    workbook=openpyxl.load_workbook("DataSource\myfile.xlsx")
    worksheet=workbook.worksheets[0]
    
    #在第一列之前插入一列
    worksheet.insert_cols(1)  #
    
    for index,row in enumerate(worksheet.rows):
        if index==0:
            row[0].value="编号"  #每一行的一个row[0]就是第一列
        else:
            row[0].value=index
    #枚举出来是tuple类型,从0开始计数
    
    workbook.save(filename="DataSource\myfile.xlsx")

    运行结果如下:

    5.2 修改特定单元格

    worksheet.cell(2,3,'0')
    worksheet["B2"]="Peking"

    运行结果如下:

    5.3 批量修改数据

    批量修改数据就相当于写入,会自动覆盖。在上一节中已经有介绍,不再赘述。

    还有sheet.append()方法,可以用来添加行。

    taiwan=[32,"台湾省"]
    worksheet.append(taiwan)

    运行结果如下:

     

     

    本文完。行笔匆忙,如有错误,还请指出。

    展开全文
  • https://my.oschina.net/u/4269725/blog/3521435一、xlrd的安装 pip install xlrd 二、xlrd使用介绍 1、导入模块 import xlrd 2、打开Excel文件,实例化为readbook readbook = xlrd.open_workbook(r'D:test.xls') .....

    https://my.oschina.net/u/4269725/blog/3521435

    一、xlrd的安装 pip install xlrd 二、xlrd使用介绍   1、导入模块     import xlrd   2、打开Excel文件,实例化为readbook     readbook = xlrd.open_workbook(r'D:test.xls') ...

    2019/05/28 00:00

    aae9fa6648ff3486c9579d892a0212a261e.png

    https://my.oschina.net/u/2914586/blog/755889

    import xlrd datafile="2013ERCOTHourlyLoadData.xls" def parse_file(datafile): workbook=xlrd.open_workbook(datafile) sheet=workbook.sheetbyindex(0) data=[[sheet.cell_value(r,col) ...

    2016/10/09 00:00

    170457_zUKN_2914586.jpg

    https://my.oschina.net/u/2953372/blog/4535047

    08/29 00:00

    https://my.oschina.net/u/1458120/blog/649782

    一、安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。 二、使用介绍 1、导入模块 import xlrd 2、打开Excel文件读取数据 data = xlr...

    2016/03/30 00:00

    30115000_bl1N.gif

    https://my.oschina.net/u/861926/blog/468276

    >>> import xlrd>>> book = xlrd.open_workbook("/Users/ya/Downloads/1.xls") //打开文件>>> table = data.sheets()[0] //读取第一页 >>> print table.row_values(1) //读取第一行[u'u529eu...

    2015/06/18 00:00

    https://my.oschina.net/u/1463748/blog/656091

    下载地址:http://pypi.python.org/pypi/xlrd 1.进入cmd命令行窗口,运行 C:>cd /d D:workspython安装包xlrd-0.9.4xlrd-0.9.4 这样进入了安装包的路径 2.安装xlrd,运行 D:workspython安装包...

    2016/04/10 00:00

    https://my.oschina.net/u/814748/blog/142222

    折腾了一下午ruby也没把parseexcel跑起来,老是load error 郁闷= = 然后还是试试python吧 http://blog.catlovefish.com/?p=131 wget http://python-distribute.org/distribute_setup.py sud...

    2013/07/03 00:00

    https://my.oschina.net/u/4401622/blog/3567549

    python常用模块目录 1)# 打开Excel文件读取数据import xlrdworkbook = xlrd.openworkbook('mcwtest.xlsx')print(workbook)----------------结果:2) 打印所有的sheet列出所有的sheet名字imp...

    2019/04/19 00:00

    9c4c4ef013f94cb11e77506490a655e4c9d.png

    https://my.oschina.net/u/3371661/blog/4677963

    1、xlrd模块主要用于excel表格的读取,支持xlsx和xls;xlwt主要用于excel的写,库的读取 2、常用单元格中的数据类型 0、empty(空的);1、string(text);2、number;3、date;4、boolean...

    10/17 00:00

    1271264-20200410163833502-1670287989.png

    https://my.oschina.net/u/4382760/blog/3939245

    在python中操作execl进行数据读写的时候,可以使用xlrd进行文件的读取,使用xlwt将数据写入execl中。 1.xlrd xlwt用来读取execl中的数据,常见的用法如下。 (1)打开execl文件并获取所有的s...

    2018/06/13 00:00

    1260387-20180613101608729-469780087.png

    https://my.oschina.net/u/4331678/blog/3629288

    xlrd模块 一、xlrd模块 1、python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库,这两个适用于.xls格式有效 2、 xlrd模块安装      在cmd窗口 pip install ...

    2019/03/02 00:00

    bc4e4025391f1d139b221e6f7844e303e10.png

    https://my.oschina.net/u/4280449/blog/3597427

    在自动化测试过程中,对测试数据的管理和维护是一个不可忽视的点。一般来说,如果测试用例数据不是太多的话,使用excel管理测试数据是个相对来说不错的选择。 这篇博客,介绍下如何利用pytho...

    2019/03/26 00:00

    cb4c2095dad1347e32d0b406ec5f8a9b7fb.png

    https://my.oschina.net/u/4255011/blog/3709737

    import xlrdimport xlwtimport re#首先打开workbookwb = xlrd.open_workbook('统计.xls')#检查表单名字wb.sheet_names()#得到第一张表单,两种方式:索引和名字 008000;"> 008000;">sh = wb...

    2018/12/17 00:00

    https://my.oschina.net/u/4311876/blog/3425180

    xlwt与xlrd只能针对xls格式的excel进行操作!!!(openpyxl操作excel) xlwt写excel   1 # pip install xlwt下载导入xlwt写xls格式的excel操作模块 2 import xlwt 3 4 # 实例化工作簿对象...

    2019/08/19 00:00

    https://my.oschina.net/u/4402301/blog/3690713

    ♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。 今天就先来说一下xlrd模块: 一、安装xlrd模块   ♦ 到python官网下载http://pypi.python.org/py...

    2019/01/03 00:00

    80c0c49434e097c7a852eceecd5467d729c.gif

    https://my.oschina.net/u/699236/blog/667276

    一、安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。 二、使用介绍 1、导入模块 import xlrd 2、打开Excel文件读取数据 data = xlr...

    2016/04/27 00:00

    27235803_eK4S.gif

    https://my.oschina.net/u/4405299/blog/3901851

    python处理excel的模块,xlrd读取excel,xlwt写入excel 一、安装 二、使用 1. 打开excel,得到Book对象 2. 指定sheet工作表(基于Book对象),得到Sheet对象 3. Sheet对象的属性 4. Cell对象...

    2018/07/17 00:00

    https://my.oschina.net/u/4286318/blog/3320588

    Xlrd模块使用 excel文件样例: import xlrd #实例化open_workbook()方法打开文件,返回的是一个Book对象 book = xlrd.open_workbook(r'F:学习文件Python文件ZenDaoRobotTestuserinfo.xlsx') ...

    1c6a8edfb0d60a0fa13f575f078d1d79f33.png

    https://my.oschina.net/u/1463748/blog/656155

    写 # -- coding: cp936 -- 导入模块 import xlwt 创建文件,即excel workbook = xlwt.Workbook(encoding = 'ascii') 创建表worksheet worksheet2 = workbook.addsheet(u'周报表',celloverwri...

    2016/04/10 00:00

    展开全文
  • ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd. 那么小虾就建议你按装一下xlrd这个模块。 pip install xlrd 这是小虾的安装...
  • xlrd模块

    2019-09-28 00:29:16
    1、通过xlrd模块读取Excel每行的内容 pyhton3安装xlrd模块:pip3 install xlrd 1 import xlrd 2 filepath='xxxxx.xlsx' # 文件路径 3 sheet = xlrd.open_workbook(filepath) #获得sheet对象 4 5 for ...
  • Python中xlrd模块

    2020-12-20 22:21:56
    本文由下面三个方向来对Python中的xlrd模块展开学习 1.什么是xlrd模块? 2.如何使用xlrd模块??(即xlrd模块的方法) 3.为什么使用xlrd模块??? 一、什么是xlrd模块? Python做数据分析操作Excel时主要用到xlrd和...
  • xlrd技巧

    2020-12-19 16:04:35
    xlrd技巧 import xlrd​ data=xlrd.open_workbook("大学信息.xls") table=data.sheets()[0] names=[] nos=[] for i in range(1,table.nrows): no=table.row_values(i)[0] nos.append(no) name=table.row_values...
  • xlrd,xlwt和xlutils是用Python处理Excel文档(*.xls)的高效率工具。其中,xlrd只能读取xls,xlwt只能新建xls(不可以修改)。 xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建...
  • xlrd-1.0.0

    2016-08-23 18:11:04
    xlrd-1.0.0
  • xlrd

    2020-10-18 22:12:44
    xlrd库 打开Excel文件读取数据 data = xlrd.open_workbook(filename) 通过索引顺序获取表格 table = data.sheets()[0] 获取该sheet中的有效行数 nrows = table.nrows 返回由该行中所有单元格的数据组成的列表 ...
  • python xlrd

    2019-05-24 01:30:00
    xlrd是xls read也就是excel文件的读功能。 简单demo如下: import xlrd book=xlrd.open_workbook('./demo.xls') sheet = workbook.sheets()[0] rowcount = sheet.nrows data = [sheet.row_values(i) for...
  • 一、安装xlrd模块到python官网下载二、使用介绍1、导入模块import xlrd2、打开Excel文件读取数据data = xlrd.open_workbook('excelFile.xls')3、使用技巧获取一个工作表table = data.sheets()[0] #通过索引顺序获取...
  • xlrd xlwt excel

    2013-07-11 00:02:16
    xlrd xlwt python xlrd xlwt python xlrd xlwt python
  • xlrd我常用的命令

    2017-11-22 15:06:36
    xlrd
  • python xlrd模块

    2018-02-28 17:52:00
    xlrd模块是在运行python脚本读取excel表格数据并进行计算前导入
  • 一、xlrd模块python第三方库,用于读取Excel文件数据安装命令:pip install xlrd,也支持离线下载并进行安装二、xlrd代码举例#使用xlrd创建一个工作薄对象workbook = xlrd.open_workbook(excel_path)#根据工作表的...
  • 一、什么是xlrd模块?Python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。二、使用介绍1.常用单元格中的数据类型类型含义empty空的string文本number浮点型date时间error错误blank空白...
  • 一、xlrd模块介绍xlrd是读取excel表格数据;支持 xlsx和xls 格式的excel表格;三方模块安装方式:pip3 install xlrd;模块导入方式:import xlrd二、xlrd模块操作1. 基本函数1.1. 打开workbook获取Book对象xlrd.open...
  • 我的可执行脚本使用的包很少依赖于xlrd模块。因此,我尝试使用include选项将此模块包括在安装脚本中,如图所示。但是,当runnery.py调用包模块时,模块无法导入xlrd,尽管xlrd文件存在于library.zip文件中。from cx_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,056
精华内容 4,822
关键字:

xlrd