精华内容
下载资源
问答
  • I'm using win32com.client to write data to an excel file.This takes too much time (the code below simulates the amount of data I want to update excel with, and it takes ~2 seconds).Is there a way to u...

    I'm using win32com.client to write data to an excel file.

    This takes too much time (the code below simulates the amount of data I want to update excel with, and it takes ~2 seconds).

    Is there a way to update multiple cells (with different values) in one call rather than filling them one by one? or maybe using a different method which is more efficient?

    I'm using python 2.7 and office 2010.

    Here is the code:

    from win32com.client import Dispatch

    xlsApp = Dispatch('Excel.Application')

    xlsApp.Workbooks.Add()

    xlsApp.Visible = True

    workSheet = xlsApp.Worksheets(1)

    for i in range(300):

    for j in range(20):

    workSheet.Cells(i+1,j+1).Value = (i+10000)*j

    解决方案

    A few suggestions:

    ScreenUpdating off, manual calculation

    Try the following:

    xlsApp.ScreenUpdating = False

    xlsApp.Calculation = -4135 # manual

    try:

    #

    worksheet = ...

    for i in range(...):

    #

    finally:

    xlsApp.ScreenUpdating = True

    xlsApp.Calculation = -4105 # automatic

    Assign several cells at once

    Using VBA, you can set a range's value to an array. Setting several values at once might be faster:

    ' VBA code

    ActiveSheet.Range("A1:D1").Value = Array(1, 2, 3, 4)

    I have never tried this using Python, I suggest you try something like:

    worksheet.Range("A1:D1").Value = [1, 2, 3, 4]

    A different approach

    Consider using openpyxl or xlwt. Openpyxls lets you create .xlsx files without having Excel installed. Xlwt does the same thing for .xls files.

    展开全文
  • from pyExcelerator import *(在dos窗口,pip install pyexcelerator) w = Workbook() # 创建一个工作...w.save('法规相似度文件.xls') # 保存文件 转载于:https://www.cnblogs.com/sunmoon1993/p/10552411.html
    from pyExcelerator import *(在dos窗口,pip install pyexcelerator)
    w = Workbook()  # 创建一个工作簿
    ws_90 = w.add_sheet('相似度大于90的法规') # 创建一个工作表,存储相似度大于90的法规
    ws_90.write(0,0,'cid') # 编辑首行表头
    ws_90.write(0,1, '本地法规') # 编辑首行表头
    ws_90.write(0,2,'价值在线法规') # 编辑首行表头
    ws_90.write(0,3,'类型') # 编辑首行表头
    ws_90.write(0,4,'相似度') # 编辑首行表头

    for j in range(0, 5):  # 控制列
    for i in range(1, 50000): # 控制行
    if (j == 0): # 第一列cid
    ws_90.write(i, j, lawone[1])
    if (j == 1): # 第二列本地法规
    ws_90.write(i, j, name)
    if (j == 2): # 第三列价值在线法规
    ws_90.write(i, j, pricep[0])
    if (j == 3): # 第四列类型
    ws_90.write(i, j, pricep[1])
    if (j == 4): # 相似度
    ws_90.write(i, j, xiangsidu)

    w.save('法规相似度文件.xls')  # 保存文件

    转载于:https://www.cnblogs.com/sunmoon1993/p/10552411.html

    展开全文
  • python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块。使用xlrd读取文件,使用xlwt生成Excel文件(可以控制Excel中单元格的格式...

    python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块。

    使用xlrd读取文件,使用xlwt生成Excel文件(可以控制Excel中单元格的格式)。

    但是用xlrd读取excel是不能对其进行操作的;而xlwt生成excel文件是不能在已有的excel文件基础上进行修改的,如需要修改文件就要使用xluntils模块。

    pyExcelerator模块与xlwt类似,也可以用来生成excel文件。

    1,xlrd

    读excel文件中的数据

    1 #coding=utf-8

    2

    3 importxlrd4

    5 #前端传过来的excel文件

    6 """

    7 file_name = request.FILES.get('file-name')8 print(file-name) # TB mapping V3.xlsx9

    10 workbook = xlrd.open_workbook(11 filename=file_name, file_contents=file_name.read())12 """

    13

    14

    15 #打开一个workbook

    16 workbook = xlrd.open_workbook('E:\\Work\\Test\\TB mapping V3.xlsx')17

    18 #抓取所有sheet页的名称

    19 worksheets =workbook.sheet_names()20 print('worksheets is %s' %worksheets)21

    22 #定位到工作表sheet1

    23 worksheet1 = workbook.sheet_by_name(u'Sheet1')24 """

    25 #通过索引顺序获取工作表26 worksheet1 = workbook.sheets()[0]27 #或28 worksheet1 = workbook.sheet_by_index(0)29 """

    30

    31 """

    32 #遍历所有sheet对象33 for worksheet_name in worksheets:34 worksheet = workbook.sheet_by_name(worksheet_name)35 """

    36

    37 #获取sheet1中所有行数

    38 num_rows =worksheet1.nrows39

    40 #遍历获取sheet1中所有行数据

    41 for curr_row inrange(num_rows):42 row =worksheet1.row_values(curr_row)43 print('row%s is %s' %(curr_row,row))44

    45 #获取sheet1中所有列数

    46 num_cols =worksheet1.ncols47

    48 #遍历获取sheet1中每一行的列数据

    49 for curr_col inrange(num_cols):50 col =worksheet1.col_values(curr_col)51 print('col%s is %s' %(curr_col,col))52

    53 #遍历sheet1中所有单元格cell

    54 for rown inrange(num_rows):55 for coln inrange(num_cols):56 cell =worksheet1.cell_value(rown,coln)57 print(cell)58

    59 """

    60 #其他写法:61 cell = worksheet1.cell(rown,coln).value62 print(cell)63

    64 #或65 cell = worksheet1.row(rown)[coln].value66 print(cell)67

    68 #或69 cell = worksheet1.col(coln)[rown].value70 print(cell)71

    72 #获取单元格中值的类型,类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error73 cell_type = worksheet1.cell_type(rown,coln)74 print(cell_type)75 """

    2,xlwt

    新建excel文件并写入数据

    1 #coding=utf-8

    2

    3 importxlwt4

    5 #创建workbook和sheet对象

    6 workbook = xlwt.Workbook() #注意Workbook的开头W要大写

    7

    8 sheet1 = workbook.add_sheet('sheet1',cell_overwrite_ok=True)9

    10 sheet2 = workbook.add_sheet('sheet2',cell_overwrite_ok=True)11

    12 #向sheet页中写入数据

    13 sheet1.write(0,0,'this should overwrite1')14

    15 sheet1.write(0,1,'qwer')16

    17 sheet2.write(0,0,'this should overwrite2')18

    19 sheet2.write(1,2,'asdf')20

    21 """

    22 #-----------使用样式-----------------------------------23 #初始化样式24 style = xlwt.XFStyle()25

    26 #为样式创建字体27 font = xlwt.Font()28 font.name = 'Times New Roman'29 font.bold = True30

    31 #设置样式的字体32 style.font = font33

    34 #使用样式35 sheet.write(0,1,'some bold Times text',style)36 """

    37

    38 #保存该excel文件,有同名文件时直接覆盖

    39 workbook.save('E:\\Work\\Test\\testData.xlsx')40 print('创建excel文件完成!')

    3,xlutils

    向excel文件中写入数据

    1 #coding=utf-8

    2

    3 importxlrd4

    5 importxlutils.copy6

    7 #打开一个workbook

    8 rb = xlrd.open_workbook('E:\\Work\\Test\\TB mapping V3.xlsx')9

    10 wb =xlutils.copy.copy(rb)11

    12 #获取sheet对象,通过sheet_by_index()获取的sheet对象没有write()方法

    13 ws =wb.get_sheet(0)14

    15 #写入数据

    16 ws.write(1, 1, 'changed!')17

    18 #添加sheet页

    19 wb.add_sheet('sheetnnn2',cell_overwrite_ok=True)20

    21 #利用保存时同名覆盖达到修改excel文件的目的,注意未被修改的内容保持不变

    22 wb.save('E:\\Work\\Test\\testData.xlsx')

    4,pyExcelerator_read

    读excel文件中的数据

    1 #coding=utf-8

    2

    3 importpyExcelerator4

    5 #parse_xls返回一个列表,每项都是一个sheet页的数据。

    6

    7 #每项是一个二元组(表名,单元格数据)。其中单元格数据为一个字典,键值就是单元格的索引(i,j)。如果某个单元格无数据,那么就不存在这个值

    8

    9 sheets = pyExcelerator.parse_xls('E:\\Work\\Test\\TB mapping V3.xlsx')10 print(sheets)

    5,pyExcelerator

    新建excel文件并写入数据

    1 #coding=utf-8

    2

    3 importpyExcelerator4

    5 #创建workbook和sheet对象

    6 wb =pyExcelerator.Workbook()7

    8 ws = wb.add_sheet(u'第一页')9

    10 #设置样式

    11 myfont =pyExcelerator.Font()12

    13 myfont.name = u'Times New Roman'

    14

    15 myfont.bold =True16

    17 mystyle =pyExcelerator.XFStyle()18

    19 mystyle.font =myfont20

    21 #写入数据,使用样式

    22 ws.write(0,0,u'hello bom!',mystyle)23

    24 #保存该excel文件,有同名文件时直接覆盖

    25 wb.save('E:\\Work\\Test\\testData1.xlsx')26 print(创建excel文件完成!)

    展开全文
  • python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块。方法一:小罗问我怎么从excel中读取数据,然后我百了一番,做下记录excel...

    用python来自动生成excel数据文件。python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块。

    方法一:

    小罗问我怎么从excel中读取数据,然后我百了一番,做下记录

    excel数据图(小罗说数据要给客户保密,我随手写了几行数据):

    201617120033080.png?20160712052

    python读取excel文件代码:

    #!/usr/bin/env python

    # -*- coding: utf-8 -*-

    # 读取excel数据

    # 小罗的需求,取第二行以下的数据,然后取每行前13列的数据

    import xlrd

    data = xlrd.open_workbook('test.xls') # 打开xls文件

    table = data.sheets()[0] # 打开第一张表

    nrows = table.nrows # 获取表的行数

    for i in range(nrows): # 循环逐行打印

    if i == 0: # 跳过第一行

    continue

    print table.row_values(i)[:13] # 取前十三列

    excel的写操作等后面用到的时候在做记录

    方法二:

    使用xlrd读取文件,使用xlwt生成Excel文件(可以控制Excel中单元格的格式)。但是用xlrd读取excel是不能对其进行操作的;而xlwt生成excel文件是不能在已有的excel文件基础上进行修改的,如需要修改文件就要使用xluntils模块。pyExcelerator模块与xlwt类似,也可以用来生成excel文件。

    1. [代码]test_xlrd.py

    #coding=utf-8

    #######################################################

    #filename:test_xlrd.py

    #author:defias

    #date:xxxx-xx-xx

    #function:读excel文件中的数据

    #######################################################

    import xlrd

    #打开一个workbook

    workbook = xlrd.open_workbook('E:\\Code\\Python\\testdata.xls')

    #抓取所有sheet页的名称

    worksheets = workbook.sheet_names()

    print('worksheets is %s' %worksheets)

    #定位到sheet1

    worksheet1 = workbook.sheet_by_name(u'Sheet1')

    """

    #通过索引顺序获取

    worksheet1 = workbook.sheets()[0]

    #或

    worksheet1 = workbook.sheet_by_index(0)

    """

    """

    #遍历所有sheet对象

    for worksheet_name in worksheets:

    worksheet = workbook.sheet_by_name(worksheet_name)

    """

    #遍历sheet1中所有行row

    num_rows = worksheet1.nrows

    for curr_row in range(num_rows):

    row = worksheet1.row_values(curr_row)

    print('row%s is %s' %(curr_row,row))

    #遍历sheet1中所有列col

    num_cols = worksheet1.ncols

    for curr_col in range(num_cols):

    col = worksheet1.col_values(curr_col)

    print('col%s is %s' %(curr_col,col))

    #遍历sheet1中所有单元格cell

    for rown in range(num_rows):

    for coln in range(num_cols):

    cell = worksheet1.cell_value(rown,coln)

    print cell

    """

    #其他写法:

    cell = worksheet1.cell(rown,coln).value

    print cell

    #或

    cell = worksheet1.row(rown)[coln].value

    print cell

    #或

    cell = worksheet1.col(coln)[rown].value

    print cell

    #获取单元格中值的类型,类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

    cell_type = worksheet1.cell_type(rown,coln)

    print cell_type

    """

    2. [代码]test_xlwt.py

    #coding=utf-8

    #######################################################

    #filename:test_xlwt.py

    #author:defias

    #date:xxxx-xx-xx

    #function:新建excel文件并写入数据

    #######################################################

    import xlwt

    #创建workbook和sheet对象

    workbook = xlwt.Workbook() #注意Workbook的开头W要大写

    sheet1 = workbook.add_sheet('sheet1',cell_overwrite_ok=True)

    sheet2 = workbook.add_sheet('sheet2',cell_overwrite_ok=True)

    #向sheet页中写入数据

    sheet1.write(0,0,'this should overwrite1')

    sheet1.write(0,1,'aaaaaaaaaaaa')

    sheet2.write(0,0,'this should overwrite2')

    sheet2.write(1,2,'bbbbbbbbbbbbb')

    """

    #-----------使用样式-----------------------------------

    #初始化样式

    style = xlwt.XFStyle()

    #为样式创建字体

    font = xlwt.Font()

    font.name = 'Times New Roman'

    font.bold = True

    #设置样式的字体

    style.font = font

    #使用样式

    sheet.write(0,1,'some bold Times text',style)

    """

    #保存该excel文件,有同名文件时直接覆盖

    workbook.save('E:\\Code\\Python\\test2.xls')

    print '创建excel文件完成!'

    3. [代码]test_xlutils.py

    #coding=utf-8

    #######################################################

    #filename:test_xlutils.py

    #author:defias

    #date:xxxx-xx-xx

    #function:向excel文件中写入数据

    #######################################################

    import xlrd

    import xlutils.copy

    #打开一个workbook

    rb = xlrd.open_workbook('E:\\Code\\Python\\test1.xls')

    wb = xlutils.copy.copy(rb)

    #获取sheet对象,通过sheet_by_index()获取的sheet对象没有write()方法

    ws = wb.get_sheet(0)

    #写入数据

    ws.write(1, 1, 'changed!')

    #添加sheet页

    wb.add_sheet('sheetnnn2',cell_overwrite_ok=True)

    #利用保存时同名覆盖达到修改excel文件的目的,注意未被修改的内容保持不变

    wb.save('E:\\Code\\Python\\test1.xls')

    4. [代码]test_pyExcelerator_read.py

    #coding=utf-8

    #######################################################

    #filename:test_pyExcelerator_read.py

    #author:defias

    #date:xxxx-xx-xx

    #function:读excel文件中的数据

    #######################################################

    import pyExcelerator

    #parse_xls返回一个列表,每项都是一个sheet页的数据。

    #每项是一个二元组(表名,单元格数据)。其中单元格数据为一个字典,键值就是单元格的索引(i,j)。如果某个单元格无数据,那么就不存在这个值

    sheets = pyExcelerator.parse_xls('E:\\Code\\Python\\testdata.xls')

    print sheets

    5. [代码]test_pyExcelerator.py

    #coding=utf-8

    #######################################################

    #filename:test_pyExcelerator.py

    #author:defias

    #date:xxxx-xx-xx

    #function:新建excel文件并写入数据

    #######################################################

    import pyExcelerator

    #创建workbook和sheet对象

    wb = pyExcelerator.Workbook()

    ws = wb.add_sheet(u'第一页')

    #设置样式

    myfont = pyExcelerator.Font()

    myfont.name = u'Times New Roman'

    myfont.bold = True

    mystyle = pyExcelerator.XFStyle()

    mystyle.font = myfont

    #写入数据,使用样式

    ws.write(0,0,u'ni hao 帕索!',mystyle)

    #保存该excel文件,有同名文件时直接覆盖

    wb.save('E:\\Code\\Python\\mini.xls')

    print '创建excel文件完成!'

    展开全文
  • google了下,pythonexcel文件的方法不少,最后我选定了xlsxwriter这个库,使用python,很容易就能完成工作。下面说下步骤,并附上代码。一、安装xlsxwriter当然,python是一定要安装的,我使用的是Python 2.7.8。...
  • #使用python操作excel文件时,需要导入第三方库openpyxl,可使用命令python -m pip install openpyxl进行安装import openpyxl#导入openpyxl库from openpyxl import Workbook#导入Workbook#注意:对excel文件进行操作...
  • python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块。使用xlrd读取文件,使用xlwt生成Excel文件(可以控制Excel中单元格的格式...
  • 如何用python创建excel表格python可以用openpyxl包来读取和写入xlsx文件。关于用python写入excel,新手求教import xlwtbook = Workbook()sheet1 = book.add_sheet('Sheet 1')book.add_sheet('Sheet 2')第一种:sheet...
  • Python查看和新建excel文件

    千次阅读 2019-07-31 23:17:46
    xlwt:写excel文件,包括新建excel文件、sheet、在excel中写内容 xlrd:读取excel文件内容 这上面两个工具包具体功能可查相应官方文档 2.写excel文件实例 import xlwt # 设置表格样式 def set_style(name,height,...
  • python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块。使用xlrd读取文件,使用xlwt生成Excel文件(可以控制Excel中单元格的格式...
  • 在以前,商业分析对应的英文单词是Business Analysis,大家用的分析工具是Excel,后来数据量大了,Excel应付不过来了(Excel最大支持行数为1048576行),人们开始...Excel 2007 或更高版本的 XLSX 文件python-...
  • 在处理excel数据时发现了xlwt的局限性–不能写入超过65535行、256列的数据(因为它只支持Excel 2003及之前的版本,在这些版本的Excel中行数和列数有此限制),这对于...Python Excel操作之xlwt创建表格:#Python ...
  • Python处理Excel文件

    2020-08-07 23:08:06
    import xlsxwriter #用于...'''使用Python新建一个Excel文件''' workbook = xlsxwriter.Workbook('有限公司.xlsx') '''创建一个工作表,所说的sheet表''' worksheet = workbook.add_worksheet() '''设置单元格的样式'''
  • 详解Python操作Excel文件

    千次阅读 多人点赞 2019-09-03 10:02:32
    本篇文章主要总结了一下利用python操作Excel文件的第三方库和方法。 常见库简介 1.xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件。 地址:...
  • 但对于一些专业性较强的行业来说,可能打开一个表格文件的时间已经可以喝一杯咖啡了,此时如果我们会使用脚本语言来处理文件,在时效上要快得多,本文将展示利用 openpyxl 来处理 excel 文件的功能,并且会结合一个...
  • #function:新建excel文件并写入数据 ####################################################### import xlwt #创建workbook和sheet对象 workbook = xlwt.Workbook() #注意Workbook的开头W要大写 sheet1 = workbook....
  • Excel 相信大家都不陌生,就是通过表来对数据进行展示和处理。生活中有很多的职业需要每天面对非常多的 Excel 表, 进行数据的...接下来我会通过 python操作excel 一系列的博客来讲解怎么让python 中的 **openpyxl*...
  • Python处理excel文件

    2018-09-04 20:17:25
    Python处理excel文件 ​ 这里只介绍几种常用的库。对于2003以前的excel版本,即.xls文件,只能用xlrd和xlwt库来处理;对于2003及以后的excel文件,即.xlsx文件,需要使用openpyxl库来处理,这里着重介绍这三个第三...
  • python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块。方法一:小罗问我怎么从excel中读取数据,然后我百了一番,做下记录excel...
  • python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块。方法一:小罗问我怎么从excel中读取数据,然后我百了一番,做下记录excel...
  • python读写excel的方式有很多,这里我介绍3种方式,一种是利用xlrd和xlwt进行excel读写,...主要步骤如下:为了方便演示,我这里新建了一个test.xls文件,主要内容如下,用于测试读excel的代码:方法一:利用xlrd和...
  • python创建Excel文件及写入保存数据

    千次阅读 2021-02-15 21:24:06
    python创建Excel文件及写入保存数据 创建Excel文件及写入保存数据 文章目录python创建Excel文件及写入保存数据一、 创建并保存Excel文档二、工作表的创建三、完整代码结果展示 一、 创建并保存Excel文档 首先...
  • 但对于一些专业性较强的行业来说,可能打开一个表格文件的时间已经可以喝一杯咖啡了,此时如果我们会使用脚本语言来处理文件,在时效上要快得多,本文将展示利用 openpyxl 来处理 excel 文件的功能,并且会结合一个...
  • Python操作excel文件

    2017-11-09 09:52:01
    参考主页 http://www.python-excel.org/ , 对xls后缀的文件的读写主要用xlrd和xlwt,主页中也包括对xlsx文件的读写模块 参考博客:http://blog.csdn.net/mr__fang/article/details/7089581xlrd下载地址:...
  • python 处理excel文件、txt文件

    千次阅读 2018-01-26 11:16:58
    处理excel文件python库有很多,如xlsxwriter、xlrd、openpyxl等。由于经常用pandas处理数据,而且pandas读写excel更方便,所以主要讲pandas是如何操作excel的。也介绍了如何分别使用用xlsxwriter和openpyxl向excel...
  • 新建 import xlwt new_workbook = xlwt.Workbook() worksheet = new_workbook.add_sheet('new_test1') worksheet.write(0,0,'asdfg') new_workbook.save('D:/BG/test3.xlsx') 出现下述问题: 解决: 文件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,914
精华内容 3,565
关键字:

python新建excel文件

python 订阅