使用python向excel中写入数据(中英文混合)

1.需要想使用python向excel中写入数据,那么首先需要安装xlwt(一个python 库),如果同时需要对excel进行读取操作,那么还需要xlrd库。有关库可以在python的官网上查找到,具体链接为:https://pypi.python.org/pypi

(1)需要注意的是,通常python管网上给出的库,大多数都是以.whl文件给出的;此类文件的安装需要使用pip指令,python3.6以上版本,在安装时如果选择全部安装,那么不需要我们人为再次对其进行安装。具体安装方法可以搜集网上的其他资料,这里不在细说。


2.使用xlwt进行excel文件的写入操作,python脚本为:

(1)实现excel写入数据的类及接口的定义

#!/usr/bin/env Python
# -*- coding: cp936 -*-


import xlwt 
from xlrd import *
from datetime import datetime
import time


class ExcelReadAndWrite(object):
    'class for Excel file read and write'

    def __init__(self):
        'An object created'
        pass

    def ExcelFileWrite(self,DATA):
        'function used to creat excel file'

        '''
        #font define
        font0=xlwt.Font()
        font1=xlwt.Font()

        #font setting
        font0.name='Times New Roman'
        font0.colour_index=2
        font0.bold=True
        font1.name='Times New Roman'
        font1.colour_index=2
        font1.bold=False

        style0=xlwt.XFStyle()
        style0.font=font0

        style1=xlwt.XFStyle()
        style1.font=font1
        style1.num_format_str='D-MMM-YY'
        '''
        
        wb=xlwt.Workbook(encoding="utf-8")
        ws=wb.add_sheet('A Test Sheet',cell_overwrite_ok=True)

        for i,row in enumerate(DATA):
            for j,clo in enumerate(row):
                ws.write(i,j,clo)

        wb.save('Data.xls')



        
(2)主函数

def main():
    'main function'
    
    ExcelOP=ExcelReadAndWrite()

    DATA=((u'学号',u'姓名',u'年龄',u'性别',u'成绩'),
          ('20170001','zhang san','21','man','12'),
          ('20170002','li si','25','man','15'),
          ('20170003','wang guan','26','woman','100'),
          )
    
    #DATA=((1,2),(3,4),(5,6),(7,8),(9,10))    
    ExcelOP.ExcelFileWrite(DATA)
    
if __name__=='__main__':
    main()
需要注意的是,在写入中文字时,一定要将中文字按“Unicode”字符编码方式进行写入。

3.有时候需要在已经存在的excel表格中新添加数据,同时新添加的数据不会影响原先存在的数据;或者,有时候我们需要每间隔一段时间向Excel表格中写入数据。要实现上述功能,需要借助xlutils库函数(主要是使用该库中的xlutils.copy),具体代码如下:

(1)导入需要的函数模块

from xlutils.copy import copy
(2)具体代码实例:

 def AddDataToExitFile(self,serial,data):
        ''
        rexcel = open_workbook("data_1.xls") # 用xlrd提供的方法读取一个excel文件
        rows = rexcel.sheets()[0].nrows # 用wlrd提供的方法获得现在已有的行数
        excel = copy(rexcel) # 用xlutils提供的copy方法将xlrd的对象转化为xlwt的对象
        table = excel.get_sheet(0) # 用xlwt对象的方法获得要操作的sheet

        table.write(rows,0,serial)
        table.write(rows,1,data)
        '''
        for i,row in enumerate(DATA):
            for j,clo in enumerate(row):
                table.write(i+rows,j,clo)
        '''
        excel.save("data_1.xls") # xlwt对象的保存方法,这时便覆盖掉了原来的excel


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只特立独行的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值