xue11 发表于 2019-8-13 22:35:31

openpyxl如何在excel某一列追加数据

例如有一个excel表,我们想在第三列或第四列追加数据,请问该如何写,谢谢

panheng 发表于 2019-8-13 22:35:32

本帖最后由 panheng 于 2019-8-17 18:51 编辑

复习,顺便赚点鱼币{:5_109:}
from openpyxl import *
wb = Workbook()
sheet = wb.active
date =    #需要写入的内容
for each in date:
    sheet.cell(row=date.index(each)+2,column=3,value=each)
    #关键字参数row为行,colunm为列,均从1开始。此为第三列第二行添加
    sheet.cell(row=date.index(each)+3,column=4,value=each)
    #此为第四列第三行添加
wb.save("pyxl_test.xlsx")


改成题主要的样子了@xue11

_2_ 发表于 2019-8-14 09:22:38

沙发!
我给你看看......

_2_ 发表于 2019-8-14 09:26:28

先获取原来单元格里的数据并把它储存在一个变量里,然后再把新的数据覆盖保存就OK了。

_2_ 发表于 2019-8-14 09:47:20

import openpyxl

wb = openpyxl.load_workbook(r'C:\Users\gwdsir\Desktop\demo.xlsx') #文件的路径
ws = wb.active #获取工作表
value = ws['A1'].value #获取工作表原来的值,这里以A1单元格为例
value = str(value) + '你想追加的字符串' #由于我这里的A1单元格不是字符串,要先转化成字符串
ws['A1'] = value #覆盖保存
wb.save('demo.xlsx')

你看这样行不行?

xue11 发表于 2019-8-15 11:16:43

_2_ 发表于 2019-8-14 09:47
你看这样行不行?

例如我想在第3列中从第2行开始插入新的数据,并且A、B列均保留原有的数据,怎么弄

_2_ 发表于 2019-8-15 13:27:45

先获取原来的数据,然后删除原来保存的数据,再用append()方法就行了(注意:append不能添加列表中的列表)。

_2_ 发表于 2019-8-15 13:29:19

你空间相册里的那个动图是什么弄的?

xue11 发表于 2019-8-17 09:23:40

_2_ 发表于 2019-8-15 13:27
先获取原来的数据,然后删除原来保存的数据,再用append()方法就行了(注意:append不能添加列表中的列表) ...

能写下不,例如data = 插入第4列,从第二行开始

_2_ 发表于 2019-8-17 17:59:01

xue11 发表于 2019-8-17 09:23
能写下不,例如data = 插入第4列,从第二行开始

稍等片刻,我才看见......

_2_ 发表于 2019-8-17 18:37:15

xue11 发表于 2019-8-17 09:23
能写下不,例如data = 插入第4列,从第二行开始

import openpyxl

wb = openpyxl.Workbook()
ws = wb.active
data =
ws.append(data)
value = len(data)
data = []
for i in range(value):
    data.append(None)
data.extend()
ws.append(data)
#第一行已经有数据了,所以append()方法会在下一行继续添加数据
#列表前三个数据是None,所以B1 B2 B3单元格并没有内容
wb.save('demo.xlsx')

我想包装成一个函数,但不知道该怎么给两个参数命名(起名字真是一个头疼的事),你还是自己做吧,以后调用更方便一些。

小漠 发表于 2021-5-13 22:52:57

panheng 发表于 2019-8-13 22:35
复习,顺便赚点鱼币




from openpyxl import *
wb = Workbook()
sheet = wb.active
date =    #需要写入的内容
for each in date:
    n=1
    sheet.cell(row=n,column=3,value=each)
    n +=1
wb.save("pyxl_test.xlsx")

改了一下,原来的代码会自动去重,这样就不会去重
页: [1]
查看完整版本: openpyxl如何在excel某一列追加数据