python:使用xlrd存储所有单元格值,并使用x写入新工作簿

2024-10-01 17:35:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图将工作表中的所有单元格复制到新工作簿中。我可以像下面的示例代码那样手动存储单元格值,并将变量粘贴到各个单元格中,但我希望自动收集单元格数据。我对python非常陌生,但是我可以从概念上看到一些东西,但是我可以使用一些帮助来完成它,谢谢!在

尝试自动收集单元格

 def cell(r,c): 
   set r+=1 
    cellname = c.isalpha() + r
      if r <= sheet.nrow:  
           cellname = (r,c,sheet.cell_value) 

。。。。。。我在这附近迷路了,但我想应该有工作表.ncols和nrows

当前手动单元格复制

^{pr2}$

手动粘贴单元格

sheet.write(0, 0, cellA1)
sheet.write(1, 0, cellA2)

Tags: 数据代码概念示例粘贴defcell手动
2条回答

Anand S Kumar的答案是正确的,但您需要将i改为r,并将{}改为{}。为了获得额外的好处,我为完整的代码示例添加了更多的代码。这段代码打开一个现有的excel文件,读取第一个工作表中的所有数据,并将这些数据写入新的excel文件。在

    import os,xlrd,xlwt

    if os.path.isfile(outExcel):os.remove(outExcel)#delete file if it exists

    inExcel= (r'C:\yourpath\inFile.xls')
    outExcel= (r'C:\yourpath\outFile.xls')

    workbook = xlrd.open_workbook(inExcel)
    sheetIn = workbook.sheet_by_index(0)

    workbook = xlwt.Workbook()
    sheetOut = workbook.add_sheet('DATA')

    for r in range(sheetIn.nrows):
        for c in range(sheetIn.ncols):
            sheetOut.write(r, c, sheetIn.cell_value(r, c))

    workbook.save(outExcel)#save the result

您可以简单地循环工作表中的单元格,方法是使用sheet.nrows和{}作为循环的限制。另外,请确保您没有将正在创建的新工作表定义为sheet本身,请使用新名称。示例:

newworkbook = xlwt.Workbook()
newsheet = newworkbook.add_sheet('ITEM DETAILS')
for r in range(sheet.nrows):
    for c in range(sheet.ncols):
        newsheet.write(r, c, sheet.cell_value(r, c))

然后使用newsheet而不是{}来使用新表。在

相关问题 更多 >

    热门问题