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

1 投票
2 回答
19835 浏览
提问于 2025-04-18 16:06

如何在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'

2 个回答

0

Python程序:在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()
6

这是上面问题的解决方案

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'

撰写回答