python操作excel问题?

文件中新增一个sheet2,把sheet1中某一行数据拷贝到sheet2中怎么实现?注:操作的是同一个excel文件,只用openpyxl是否可以?... 文件中新增一个sheet2,把sheet1中某一行数据拷贝到sheet2中怎么实现?
注:操作的是同一个excel文件,只用openpyxl是否可以?
展开
 我来答
智者总要千虑
高粉答主

2020-01-16 · 说的都是干货,快来关注
知道顶级答主
回答量:7.9万
采纳率:88%
帮助的人:1.4亿
展开全部
# -*- coding: utf-8 -*-#导入xlwt模块import xlwt# 创建一个Workbook对象,这就相当于创建了一个Excel文件book = xlwt.Workbook(encoding='utf-8', style_compression=0)'''Workbook类初始化时有encoding和style_compression参数encoding:设置字符编码,一般要这样设置:w = Workbook(encoding='utf-8'),就可以在excel中输出中文了。默认是ascii。当然要记得在文件头部添加:#!/usr/bin/env python# -*- coding: utf-8 -*-style_compression:表示是否压缩,不常用。'''#创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。# 在电脑桌面右键新建一个Excel文件,其中就包含sheet1,sheet2,sheet3三张表sheet = book.add_sheet('test', cell_overwrite_ok=True)# 其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是False# 向表test中添加数据sheet.write(0, 0, 'EnglishName') # 其中的'0-行, 0-列'指定表中的单元,'EnglishName'是向该单元写入的内容sheet.write(1, 0, 'Marcovaldo')txt1 = '中文名字'sheet.write(0, 1, txt1.decode('utf-8')) # 此处需要将中文字符串解码成unicode码,否则会报错txt2 = '马可瓦多'sheet.write(1, 1, txt2.decode('utf-8')) # 最后,将以上操作保存到指定的Excel文件中book.save(r'e:\test1.xls') # 在字符串前加r,声明为raw字符串,这样就不会处理其中的转义了。否则,可能会报错
yyinchao
2020-01-16 · TA获得超过1247个赞
知道小有建树答主
回答量:535
采纳率:100%
帮助的人:250万
展开全部

很简单,实用 xlrd xlwt库,一个是读的库,一个是写的库

当然你也可以用openpyxl

两个sheet,你可以获取两个sheet的某一行存进变量,然后想怎么移动就怎么移动,

给你个例子


def creatwb(wbname):  

    wb=openpyxl.Workbook()

    wb.save(filename=wbname)

    print ("新建Excel:"+wbname+"成功")


# 写入excel文件中 date 数据,date是list数据类型, fields 表头

def savetoexcel(data,fields,sheetname,wbname):   

    print("写入excel:")

    wb=openpyxl.load_workbook(filename=wbname)


    sheet=wb.active

    sheet.title=sheetname  


    field=1

    for field in range(1,len(fields)+1):   # 写入表头

        _=sheet.cell(row=1,column=field,value=str(fields[field-1]))


    row1=1

    col1=0

    for row1 in range(2,len(data)+2):  # 写入数据

        for col1 in range(1,len(data[row1-2])+1):

            _=sheet.cell(row=row1,column=col1,value=str(data[row1-2][col1-1]))


    wb.save(filename=wbname)

    print("保存成功")

追问
请问这段里减号等号是什么意思?
_=sheet.cell……
追答
意思就是有返回值,但是这返回值你不关心,不用管他就好了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式