精华内容
下载资源
问答
  • 13-用 Python 读写 Excel 文件

    千次阅读 2020-12-13 02:50:55
    在以前,商业分析对应的英文单词是Business Analysis,大家用的分析工具是Excel,后来数据量大了,Excel应付不过来了(Excel最大支持行数为1048576行),人们开始转向python和R这样的分析工具了介绍可以创建 Excel ...

    在以前,商业分析对应的英文单词是Business Analysis,大家用的分析工具是Excel,后来数据量大了,Excel应付不过来了(Excel最大支持行数为1048576行),人们开始转向python和R这样的分析工具了

    介绍

    可以创建 Excel 2007 或更高版本的 XLSX 文件

    可以读写 Excel 2007 XLSX 和 XLSM 文件

    直接通过 COM 组件与Microsoft Excel 进程通信,调用其各种功能实现对 Excel 文件的操作

    修改

    ⚠️

    .xls

    .xlsx

    ⚠️

    大文件

    功能

    一般

    超强

    速度

    超慢

    系统

    无限制

    无限制

    无限制

    Windows + Excel

    使用场景

    要创建 XLSX 文件
    不需要读取已有文件
    需要实现比较复杂的功能
    数据量可能会很大
    需要跨平台

    要读取 XLS 或 XLSX 文件
    要生成 XLS 文件
    需要的功能不太复杂
    需要跨平台

    要处理 XLSX 文件
    需要修改已有文件,或者在写入过程中需要不断修改
    需要的功能比较复杂
    数据量可能会很大
    需要跨平台

    需要处理各种文件格式
    需要用到特别复杂的功能
    在修改文件时,不希望对原有信息造成任何意外破坏
    数据量很小,或者愿意等待
    仅在 Windows 中使用

    Xlsx是python用来构造xlsx文件的模块,可以向excel2007+中写text,numbers,formulas 公式以及hyperlinks超链接。

    可以完成xlsx文件的自动化构造,包括:合并单元格,制作excel图表等功能:

    1.优点

    一、功能比较强

    相对而言,这是除Excel自身之外功能最强的工具了。比如我就用到了它提供的:字体设置、前景色背景色、border设置、视图缩放(zoom)、单元格合并、autofilter、freeze panes、公式、data validation、单元格注释、行高和列宽设置等等。

    二、支持大文件写入

    如果数据量非常大,可以启用constant memory模式,这是一种顺序写入模式,得到一行数据就立刻写入一行,而不会把所有的数据都保持在内存中。

    2.缺点

    一、不支持读取和修改

    作者并没有打算做一个XlsxReader来提供读取操作。不能读取,也就无从修改了。它只能用来创建新的文件。我是利用xlrd把需要的信息读入后,用XlsxWriter创建全新的文件。

    另外,即使是创建到一半Excel文件,也是无法读取已经创建出来的内容的(信息应该在,但是并没有相应的接口)。因为它的主要方法是write而不是set。当你在某个单元格写入数据后,除非你自己保存了相关的内容,否则还是没有办法读出已经写入的信息。从这个角度看,你无法做到读出->修改->写回,只能是写入->写入->写入。

    二、不支持XLS文件

    XLS是Office 2013或更早版本所使用的格式,是一种二进制格式的文件。XLSX则是用一系列XML文件组成的(最后的X代表了XML)一个压缩包。如果非要创建低版本的XLS文件,就请移步xlwt吧。

    三、暂时不支持透视表(Pivot Table)

    3.基本操作方法

    创建excel文件

    import xlsxwriter

    f = xlsxwriter.Workbook() # 创建excel文件

    创建工作表

    worksheet1 = f.add_worksheet('操作日志') # 括号内为工作表表名

    添加工作表样式

    bold = f.add_format({

    'bold': True, # 字体加粗

    'border': 1, # 单元格边框宽度

    'align': 'left', # 水平对齐方式

    'valign': 'vcenter', # 垂直对齐方式

    'fg_color': '#F4B084', # 单元格背景颜色

    'text_wrap': True, # 是否自动换行

    })

    写入单个单元格数据

    //row:行, col:列, data:要写入的数据, bold:单元格的样式

    worksheet1.write(row, col, data, bold)

    写入一整行,一整列

    // A1:从A1单元格开始插入数据,按行插入, data:要写入的数据(格式为一个列表), bold:单元格的样式

    worksheet1.write_row(“A1”,data,bold)

    // A1:从A1单元格开始插入数据,按列插入, data:要写入的数据(格式为一个列表), bold:单元格的样式

    worksheet1.write_column(“A1”,data,bold)

    插入图片

    // 第一个参数是插入的起始单元格,第二个参数是图片你文件的绝对路径

    worksheet1.insert_image('A1','f:\\1.jpg')

    写入超链接

    worksheet1.write_url(row, col, "internal:%s!A1" % ("要关联的工作表表名"), string="超链接显示的名字")

    插入图表

    workbook.add_chartsheet(type="")

    参数中的type指的是图表类型,图表类型示例如下:

    [area:面积图,bar:条形图,column:直方图,doughnut:环状图,line:折线图,pie:饼状图,scatter:散点图,radar:雷达图,stock:箱线图]

    获得当前excel文件的所有工作表

    workbook.worksheets()

    workbook.worksheets()用于获得当前工作簿中的所有工作表,这个函数的存在便利了对于工作表的循环操作,如果你想在当前工作簿的所有工作表的A1单元格中输入一个字符创‘Hello xlsxwriter’,那么这个命令就派上用场了。

    关闭excel文件

    workbook.close()

    这个命令是使用xlsxwriter操作Excel的最后一条命令,一定要记得关闭文件。

    案例

    import xlsxwriter

    # 新建excel表

    workbook = xlsxwriter.Workbook('D:/hello.xlsx')

    # 新建sheet(sheet的名称为"sheet1")

    worksheet = workbook.add_worksheet()

    # 定义表头内容

    Title = ['实例ID', '实例配置', '实例名', '地域', '安全组', 'EIP']

    # 定义标题格式

    merge_format = workbook.add_format({

    'bold': True,

    'border': 1,

    'align': 'center',

    'valign': 'vcenter',

    'fg_color': '#E0FFFF'

    })

    # 定义表头格式

    title_format = workbook.add_format({

    'bold': True,

    'border': 1,

    'align': 'center',

    'valign': 'vcenter',

    'fg_color': '#87CEFF'

    })

    # 定义内容格式

    data_format = workbook.add_format({

    'border': 1,

    'align': 'center',

    'valign': 'vcenter',

    'fg_color': '#EED8AE'

    })

    # 拟数据

    data = [['i-1', '1C1G', 'demo1', '上海', 'sg-1', '172.20.2.10'],

    ['i-2', '1C1G', 'demo2', '郑州', 'sg-2', '172.20.2.11'],

    ['i-3', '1C1G', 'demo3', '北京', 'sg-3', '172.20.2.12']]

    # 合并 A1 - F1 单元格作为标题,传入参数:1:合并单元格,2:标题文字,3:标题格式

    worksheet.merge_range('A1:F1', 'ECS信息表', merge_format)

    # 设置列宽,指定 A - F 的列宽为 25

    worksheet.set_column('A:F', 25)

    # 设置行号,指定行数,高度,A1 为 0,A2 为 1,以此类推

    worksheet.set_row(0, 60)

    # write_row ,写行,传入参数:1:行,2:内容,3:格式

    worksheet.write_row('A2', Title, title_format)

    i = 3

    for ECS in data:

    worksheet.write_row('A' + str(i), ECS, data_format)

    i += 1

    # 将excel文件保存关闭,如果没有这一行运行代码会报错

    workbook.close()

    展开全文
  • python read_excel读取文件,文件存在合并单元格,如何处理。 目前想法是将四行列名进行拼接,求指导,谢谢

    python read_excel读取文件,文件存在合并单元格,如何处理。
    目前想法是将四行列名进行拼接,求指导,谢谢

    在这里插入图片描述

    展开全文
  • defoutput(filePath=MARGE_OUTPUT_FILE_NAME_STR,sheetName=MARGE_SHEET_NAME_STR,namelist={},resule={}):workBook=xlwt.Workbook()workSheet=workBook.add_sheet(sheetName)workShe...def output(filePath=MARGE_O...

    defoutput(filePath=MARGE_OUTPUT_FILE_NAME_STR,sheetName=MARGE_SHEET_NAME_STR,namelist={},resule={}):workBook=xlwt.Workbook()workSheet=workBook.add_sheet(sheetName)workShe...

    def output(filePath=MARGE_OUTPUT_FILE_NAME_STR, sheetName=MARGE_SHEET_NAME_STR, namelist = {}, resule = {}):

    workBook = xlwt.Workbook()

    workSheet = workBook.add_sheet(sheetName)

    workSheet.write(0, 0, MARGE_HEAD_CUST_STR)

    workSheet.write(0, 1, MARGE_HEAD_DEPT_STR)

    workSheet.write(0, 2, MARGE_HEAD_STAFF_STR)

    workSheet.write(0, 3, MARGE_HEAD_DISCOUNT_STR)

    workSheet.write(0, 4, MARGE_HEAD_DESIGNER_STR)

    workSheet.write(0, 5, MARGE_HEAD_SCBM_STR)

    workSheet.write(0, 6, MARGE_HEAD_TIME_STR)

    workSheet.write(0, 7, MARGE_HEAD_KJND_STR)

    workSheet.write(0, 8, MARGE_HEAD_KJQJ_STR)

    workSheet.write(0, 9, MARGE_HEAD_PZH_STR)

    workSheet.write(0, 10, MARGE_HEAD_PZZY_STR)

    workSheet.write(0, 11, MARGE_HEAD_PZZ_STR)

    workSheet.write(0, 12, MARGE_HEAD_JFFSE_STR)

    workSheet.write(0, 13, MARGE_HEAD_NUM_STR)

    用迭代方法写 求例子

    展开

    展开全文
  • 读取进来的表格如图所示,转换成图2。import pandas as pd# header:指定作为列名的行,默认0,即取第一行的值为列名。数据为列名行以下的数据;若数据不含列名,则设定 header = None。data = pd.read_excel(r"D:...

    当读取进来的表格如图所示,转换成图2。

    20200708154727764460.png

    20200708154728617031.png

    import pandas as pd

    # header:指定作为列名的行,默认0,即取第一行的值为列名。数据为列名行以下的数据;若数据不含列名,则设定 header = None。

    data = pd.read_excel(r"D:\数据源.xls",header=4)

    #skiprows:省略指定行数的数据,从第一行开始。

    data = pd.read_excel(r"D:\数据源.xls",skiprows= 4)

    20200708154730348543.png

    如果用header 就能处理成想要的数据,就不用接下啦的步骤。

    选取第一行所有数据,重置索引变成数据框,因为要用第一行所有数据作为列名。

    以index为 key 刚刚第一行数据的值转换为数据框之后columns 为0,0 列 为vlaue 字典

    data_C = data.iloc[0, :].reset_index()

    data_C = data_C.set_index(‘index‘).to_dict()[0]

    将原来的表格重命名,以新构造的字典。删除第一行数据,因为第一行数据要作为列名了。

    此方法有个弊端就是,所有的数据类型都为object类型。

    data = data.rename(columns=data_C).drop(0).reset_index(drop =True)

    20200708154730774341.png

    原文:https://www.cnblogs.com/lgyxta/p/13266964.html

    展开全文
  • def getInfoOfInputFile(input_file_... getInfo = pd.read_excel(os.path.join(os.getcwd()+'\\input', input_file_path), sheet_name="frequency_plan", dtype=str, keep_default_na=False) columns = getInfo...
  • 主要介绍了python读csv文件时指定行为表头或无表头的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • python读取excel数据(头文件处理)

    千次阅读 2019-08-10 10:59:09
    people=pd.read_excel(‘D:/test.xlsx’,header=1) 2)如果第一行或者前面的某几行都是空格的话,则可不指定,也可以顺利读取。 即people=pd.read_excel(‘D:/test.xlsx’) 3)而对于第一行是空的情况,没有任何...
  • 在做自动化测试的时候,采用了将测试数据用例保存在excel表格中,然后从excel表格中读取数据。所以就有必要将excel数据转换为dict 例如: 需要将下图excel中数据 转换为: 就是前面的索引固定为表里面黄色部分,...
  • 封装Excel工具类 我们常用的excel工具类,读有xlrd,写有xlwt。有读有写,新一代库有pandas,openpyxl等等。 大家用法都差不多,今天博主就介绍新手最爱,我也爱的xlrd和xlwt。(不过xlwt似乎最多只支持65535条...
  • 今天小编就为大家分享一篇Python读取txt内容写入xls格式excel中的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 所以这就是我要做的——非常简单。...问题是它似乎只读取我需要的表的一部分……更具体地说,它只能在表头读取。奇怪的是,如果我使用在线表格工具阅读表格,我就不会遇到这个问题。在# Here is the python c...
  • dataframe=pd.read_excel("dataproject.xlsx",names=[i for i in "abcde"],header=None,index_col="d") names 指定表头, index_col 指定d为索引 。
  •   有时我们需要将一个Excel表格文件中的全部或一部分数据导入到Python并转换为字典格式,如何实现呢?   我们以如下所示的一个表格(.xlsx格式)作为简单的示例。其中,表格共有两列,第一列为学号,第二列为...
  • 主要介绍了解决python pandas读取excel中多个不同sheet表格存在的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 封装Excel工具类 我们常用的excel工具类,读有xlrd,写有xlwt。有读有写,新一代库有pandas,openpyxl等等。 大家用法都差不多,今天博主就介绍新手最爱,我也爱的xlrd和xlwt。(不过xlwt似乎最多只支持65535条数据...
  • 因为excel2013打开文件时经常出现“正在联系......”大约需要半小时左右才能打开,所以就想不用excel打开,直接用pythonexcel转换为csv后再打开。网上搜了一下,大部分解决方案是用pandas,代码非常简洁: import...
  • python读取excel数据

    千次阅读 2020-12-28 20:12:57
    data') print("rows: " + str(excel.rowsNum)) print("cols: " + str(excel.colsNum)) print(excel.dict_data()) #print(excel.keys) 测试数据: excel文件可以按照自己的需求指定path,这里是放在代码同级目录下,...
  • 需求: 把app_student.xls里面的数据, 1、如果这一行数据里面有乱码(及包含?),那么就删掉 2、再加上一列,是否毕业 3、如果班级是天蝎座的话,毕业这一列写成毕业 ...def delete_messy_code(excel_name)
  • 常用的读写Excel的库: pandas openpyxl xlrd/xlwt/xlutils 使用它们都能够达到读写Excel的目的,但它们的侧重点又略有不同。 具体如下: pandas:数据处理最常用的分析库之一,可以读取各种各样格式的数据文件,...
  • _*_coding:utf-8_*_importxlrdapply_dic=[]defget_excel():with xlrd.open_workbook(r‘D:\0325.xlsx‘) as workbook :name_sheets= workbook.sheet_names() #获取Excel的sheet表列表,存储是sheet表名for ...
  • Python读写excel文件

    2021-01-30 01:50:31
    python对excel文件进行一般的处理,十几行代码就能做...openpyxl可以很方便的读写excel文件,包括单元格样式,合并等,这里只是简单写个demo入一下门。话不多说,直接上代码。待读取的excel文件内容如下:image.pn...
  • python读取excel莫个页签sheets()行数,并且获取里边的内容。使用xlrd包函数:#-*-coding:utf-8-*-fromxlrdimportopen_workbook#读取Excel文件defGetDataFromTable(file_name):file_d=open_workbook(file_name)#获得第...
  • Python 操作Excel之写操作人总会去追求更好的,分享也是一样,有更好的,怎么能够不分享呢!下面为大家送来python操作Excel的神来之笔----pandas库废话不多逼逼,直接上干货分享准备操作:导入python库中的pandas库...
  • #python 使用pandas操作EXCEL表格数据 import pandas as pd import numpy as np #读取excel表格数据 df = pd.read_excel( r"E:\a研究生学习\项目\数据\h2.xlsx") print(df) #输出表格 print(df.dtypes) #显示表格的...
  • sheettitle = [] # 暂储当前excel表的表头 # 根据excel的总行数开始遍历 for i in range(xlsnrows): # 首行为标题,特殊处理,存到sheettitle if i == 0: sheettitle = sheet.row_values(0) # 标题存到sheettitle ...
  • python 根据csv表头、列号读取数据

    千次阅读 多人点赞 2020-04-29 14:01:15
    读取csv文件 cvs数据截图如下 设置index_col=0,目的是设置第一列name为index(索引),方便下面示例演示 data = pandas.read_csv(input1, index_col=0) 输出结果 price o_price date quan name wood 85.00 ...
  • python怎么从excel读取数据?分母那么浩瀚,分子那么微弱。唯一就等于没有。#导入包 import xlrd #设置路径 path='C:\\Users\\jyjh\\Desktop\\datap.xlsx' #打开文件 data=xlrd.open_workbook(path) #查询工作表 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,103
精华内容 2,041
关键字:

python读取excel表头

python 订阅
友情链接: 黑色遮挡未修改.rar