向已存在的xlsx文件中新增数据,不覆盖原数据。
想用python实现向已存在的xlsx文件中新增数据,不覆盖原数据。自己写了一段代码:import xlsxwriter
import xlrd
from xlutils.copy import copy
wb = xlrd.open_workbook('test.xlsx')
newb = copy(wb)
newsheet = newb.get_sheet('sheet1')
k = len(newsheet.rows) #k为最后一行
newsheet.write(k, 0, 123456)
newb.save('test.xlsx')
得到的xlsx文件打不开报错,但如果把xlsx文件改成xls文件却可以做到。我已经下载了xlsxwriter模块。有哪位高手知道什么原因么?谢谢! newsheet.cell(k,0).value = '123456'
这样不行? 只用过openpyxls:from openpyxl import load_workbook
wb = load_workbook('test.xlsx')
ws = wb['Sheet1']
row = ws.max_row
ws['a' + row] = 'data' yhhpf 发表于 2020-8-19 13:17
这样不行?
newsheet.cell(k,0).value = '123456'
AttributeError: 'Worksheet' object has no attribute 'cell'
报错了。 suchocolate 发表于 2020-8-19 13:19
只用过openpyxls:
你的答案我没看懂。 glacierjin 发表于 2020-8-19 15:26
你的答案我没看懂。
哪里不懂? 領銜§龍尊 发表于 2020-8-19 15:34
import xlwt
import xlrd
from xlutils.copy import copy
你这个我百度搜到过,但解决不了我说的问题。只能用于xls文件而不是xlsx文件。 suchocolate 发表于 2020-8-19 16:14
哪里不懂?
ws['a' + row] = 'data'
TypeError: can only concatenate str (not "int") to str glacierjin 发表于 2020-8-20 10:01
ws['a' + row] = 'data'
TypeError: can only concatenate str (not "int") to str
不懂?自己在线看视频:
https://www.bilibili.com/video/av23697305/ glacierjin 发表于 2020-8-20 10:01
ws['a' + row] = 'data'
TypeError: can only concatenate str (not "int") to str
sorry,漏了str转类型
ws['a' + str(row)] = 'data'
页:
[1]