繁体   English   中英

在Python中使用XLWT在Excel中附加行

[英]append rows in Excel using XLWT in Python

如何在Python中使用XLWT或XLRD查找总行数? 我有一个excel文件(accounts.xls),想在其中添加行。

我在这里遇到错误-AttributeError:“ Sheet”对象没有属性“ write”

from xlrd import open_workbook
from xlwt import Workbook
def saveWorkSpace(fields,r):
    wb = open_workbook('accounts.xls')
    ws = wb.sheet_by_index(0)
    r = ws.nrows
    r += 1
    wb = Workbook()
    ws.write(r,0,fields['name'])
    ws.write(r,1,fields['phone'])
    ws.write(r,2,fields['email'])
    wb.save('accounts.xls')
    print 'Wrote accounts.xls'

这是上述问题的解决方案

import xlrd
import xlwt
from xlutils.copy import copy
def saveWorkSpace(fields):
    rb = xlrd.open_workbook('accounts.xls',formatting_info=True)
    r_sheet = rb.sheet_by_index(0) 
    r = r_sheet.nrows
    wb = copy(rb) 
    sheet = wb.get_sheet(0) 
    sheet.write(r,0,fields['name'])
    sheet.write(r,1,fields['phone'])
    sheet.write(r,2,fields['email'])
    wb.save('accounts.xls')
    print 'Wrote accounts.xls'

Python程序,用于将Values添加到Excel工作表的最后一个数据行。

from xlwt import Workbook
from  xlrd import open_workbook
import openpyxl


# Function to get the last RowCount in the Excel sheet , change the index of the sheet accordingly to get desired sheet.
def getDataColumn():
    #define the variables
    rowCount=0
    columnNumber=0
    wb = open_workbook('C:\\Temp\\exp\\data.xlsx')
    ws = wb.sheet_by_index(0) 
    rowCount = ws.nrows
    rowCount+=1
    columnNumber=1    
    print(rowCount)
    writedata(rowCount,columnNumber)

#Data to specified cells.
def writedata(rowNumber,columnNumber):
    book = openpyxl.load_workbook('C:\\Temp\\exp\\data.xlsx')
    sheet = book.get_sheet_by_name('Sheet1')
    sheet.cell(row=rowNumber, column=columnNumber).value = 'Appended Data'
    book.save('C:\\Temp\\exp\\data.xlsx')
    print('saved')

getDataColumn()


exit()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM