python实现操作excel,数据写入excel的一行或者一列


# _*_ coding:utf-8 _*_

import random
import xlwt,string

class ImportData(object):
    def create_num(self,num):
        """
        自动生成11位号段:
        :param num: 输入数据数量
        :return:
        """
        self.column0 = []
        num_start = ['134', '135', '136', '137', '138', '139', '140', '141',
                     '142', '148', '149', '147', '143', '144', '145',
                     '147', '130', '131', '132', '146']
        for i in range(num):
            start = random.choice(num_start)
       # random.sample()生成随机数字 # .join()函数可以用来将字符串进行拼接 # digits方法的作用是生成数组,包括0-9 median
= ''.join(random.sample(string.digits, 4)) end = ''.join(random.sample(string.digits, 4)) res = start + median + end self.column0.append(int(res)) print(self.column0) return self.column0 def write_excel(self, num): f = xlwt.Workbook() sheet1 = f.add_sheet(u'sheet1', cell_overwrite_ok=True) # 创建sheet row0 = [u'终端编号', u'终端类型', u'车牌号码', u'SIM卡', u'服务密码', u'ICCID号', u'车架号', u'发动机号', u'安装日期', u'车主', u'联系方式', u'安装地点', u'备注', u'安装人员', u'车型', u'续费年限'] create_nums0 = ImportData() column0 = create_nums0.create_num(num) status = [u'A5B', u'A5C-3', u'A5C-5', u'A5C-8', u'K10'] # 生成字段名(第一行) for i in range(0, len(row0)): sheet1.write(0, i, row0[i]) # 生成第一列 for i in range(0, len(column0)): sheet1.write(i + 1, 0, column0[i]) # sheet1.write(行数,列数,内容) 行数和列数从0开始 # 生成第二列 i = 0 while i < num/5 * len(status): for j in range(0, len(status)): sheet1.write(j + i + 1, 1, status[j]) i += 5 # 生成第三列 for j in range(0, len(column0)): sheet1.write(j + 1, 2, column0[j]) # 生成第四列 for s in range(0, len(column0)): sheet1.write(s + 1, 3, column0[s]) f.save('批量导入模板.xlsx') # 保存文件 if __name__ == '__main__': nums = ImportData() nums.write_excel(1000)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM