pythonxlwt追加_pythonexcel写⼊及追加写⼊# -*- coding:utf-8 _*-
"""
@author:Administrator
@file: excel.py
Description :
如果⾏数是1000的倍数,进⾏⼀次flush,如果⾏数超过65536,
新开⼀个sheet,如果超过3个sheet,则新建⼀个⽂件
@time: 2018/10/31
"""
import os
import xlwt
from xlrd import open_workbook
py import copy
fig import ConfigENum
MAX_ROW_NUM = 65536
MAX_SHEET_NUM = 3
class XLS:
def __init__(self, name, captionlist: list, typelist: list, encoding='utf8', flushBound=1000):
"""
:type captionlist: list
:type typelist: list
"""
self.name = name
self.captionlist = captionlist[:]
self.flushBound = flushBound
self.bk = xlwt.Workbook(ding, style_compression=0)
self.workbookIndex = 1
self.sheet = None
self.sheetindex = 0
# self._add_sheet()
def _add_sheet(self):
if self.sheetindex != 0:
# This method is used to save the Workbook to a file in native Excel format. self.bk.save(self.name + str(self.sheetindex) + ".xls")
# create new workbook
if self.sheetindex > MAX_SHEET_NUM:
self.workbookIndex += 1
self.bk = xlwt.Workbook(ding, style_compression=0) self.sheetindex = 1
# a new sheet
index=self.sheetindex
print("self.sheet_index=",index)
self.sheet = self.bk.add_sheet(self.name +
index.__str__(),
cell_overwrite_ok=False)
for i in range(len(self.captionlist)):
# This method is used to write a cell to a :class:`Worksheet`
self.sheet.write(0, i, self.captionlist[i])
def write(self, data: list):
"""
:type data: list
"""
# The row of current sheet > the max rows of sheet then create a new sheet w > MAX_ROW_NUM:
self.sheetindex += 1
self._add_sheet()
self._add_sheet()
for i in data:
for j in range(len(i)):
peList[j] == "num":
try:
self.sheet.w, j, float(i[j]))
except:
raise ValueError("{} is not a number".format(i[j]))
else:
self.sheet.w, j, i[j])
# when rows =1000 then flush rows
w % self.flushBound == 0:
self.sheet.flush_row_data()
@staticmethod
def __find_file(keyword):
for root, d, files in os.walk(ConfigENum.DATA_PATH.value): for file in files:
if keyword in file:
file = os.path.join(root, file)
return file
return False
def add_write(self, datas):
result=self.__find_file(self.name)
if not result:
self.write(datas)
self.save()
return "ok"
w > MAX_ROW_NUM:
self.sheetindex += 1
self._add_sheet()
# read a excel file
self.bk = open_workbook(result)
# get the rows of sheet
rows = self.bk.sheets()[self.sheetindex].nrows
execl函数 linux# Copy an :class:`xlrd.Book` into an :class:`xlwt.Workbook` excel = copy(self.bk)
self.sheet = _sheet(self.sheetindex)
for data in datas:
# [1,2,3,4]
for j in range(len(data)):
self.sheet.w, j, data[j]) # xlwt对象的写⽅法,参数分别是⾏、列、值
w % self.flushBound == 0:
self.sheet.flush_row_data()
self.name + self.workbookIndex.__str__() + ".xls")
excel.l_name)
def save(self):
self.name + self.workbookIndex.__str__() + ".xls")
self.bk.l_name)
# if __name__ == "__main__":
# caption_list = ["name", "gender", "age"]
# type_list = ["str", "str", "num"]
# input_data = ["Lili", "M", 25]
# excl=XLS("test",caption_list,type_list)
# excl.write(input_data)
# excl.save()
python3读取、写⼊、追加写⼊excel⽂件
由于excel版本不同,python处理的时候选择的库页不同. ⼀.操作对应版本表格需要⽤到的库 1.操作xls格式的表格⽂件,需要⽤到的库如下:读取:xlrd 写⼊:xlwt 修改(追加写⼊):x ...
php写⼊、追加写⼊⽂件的实例
$myfile = fopen("", "w") or die("Unable to open file!"); $t ...
Python 操作Excel之通过xlutils实现在保留原格式的情况下追加写⼊数据
在Python操作Excel 的模块有 xlrd.xlwt.xlutils等. xlrd:读取Excel⽂件数据 xlwt:写⼊Excel 数据,缺点是Excel格式⽆法复⽤,为了⽅便⽤户,写⼊的话, ...
JS+Selenium+excel追加写⼊,使⽤python成功爬取京东任何商品~
之前⼀直是requests库做爬⾍,这次尝试下使⽤selenium做爬⾍,效率不⾼,但是却没有限制,⽂章是分别结合⼤⽜的selenium爬⾍以及excel 追加写⼊操作⽽成,还有待优化,打算爬取更多信息 ...
Python Excel 多sheet 多条数据 ⾃定义写⼊
pip install xlwt python excel 数据写⼊操作,处理⽹站数据导出以及不是太多数据的爬⾍存储, ⽤处蛮多的轮⼦.
(150+++++++++++++++++++++++++++ ...
python:创建⽂件夹:写⼊⽂本1:读取txt:读取Excel⽂件遍历⽂件夹:
blog.csdn/u011956147/article/details/80369731 创建⽂件夹: import osimport shutil def buildfil ...
解决python中csv⽂件中⽂写⼊问题
⼀.前⾔ ⼀般来说,为了⽅便,使⽤python的时候都会使⽤csv模块去写数据到csv⽂件,但是写⼊中⽂的时候,经常会报错: UnicodeEncodeError: 'ascii' codec can ...
Java基础知识强化之IO流笔记20:FileOutputStream写出数据实现换⾏和追加写⼊
1. 如何实现数据的换⾏? (1) package com.himi.fileoutputstream; import java.io.FileNotFoundException; import j ...
ObjectOutputStream 追加写⼊读取错误 - ⾃⼰的实现⽅案
本篇博客灵感来⾃blog.csdn/chenssy/article/details/13170015 问题描述.问题出现的原因.尝试解决办法,请参见鄙⼈上⼀编博客. 上⼀编⽂章解 ...
随机推荐
【JavaScript】innerHTML、innerText和outerHTML的⽤法区别
⽤法:
test1 tes ...
51单⽚机对⽆线模块nRF24L01简单的控制收发程序
它的⼀些物理特性如⼯作频段.供电电压.数据传输速率就不详细介绍了,直接上代码. 1.⾸先是发送端: // Define SPI pins #include #defin ...
Axis2 WebService(基于REST风格)
/arch/java_axis2_webservice_rest.html Axis2除了提供传统的webservice⽅法外,还提供了对Rest的⽀持.Ax ...
editplus如何设置不⾃动备份
依次选择:⼯具,参数设置,⽂件(默认展开的,要缩回),然后看右边“保存⽂件时创建备份”,前⾯的框不要打勾,应⽤,确定
洛⾕ P1316 丢瓶盖
P1316 丢瓶盖 题⽬描述 陶陶是个贪玩的孩⼦,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在⼀条直线上,现在他想从这些瓶盖⾥出B个,使得距离最近的2个距离最⼤,他想知道,最⼤可以 ...
Eclipse快捷键集结
Debug快捷键 F5单步调试进⼊函数内部. F6单步调试不进⼊函数内部,如果装了⾦⼭词霸2006则要把“取词开关”的快捷键改成其他的. F7由函数内部返回到调⽤处. F8⼀直执⾏到下⼀个 ...
SQLSERVER2008 错误18456
我遇到的问题,已经解决,如果你遇到不能解决可以咨询我 1.以windows验证模式进⼊数据库管理器. 第⼆步:右击sa,选择属性: 在常规选项卡中,重新填写密码和确认密码(改成个好记的).把强制实施密 ...
Quartz动态改变任务时间
基于quartz-2.2 的动态任务调度 Quartz是⼀个完全由java编写的开源作业调度框架. 调度器 Quartz框架的核⼼是调度器.调度器负责管理Quartz应⽤运⾏时环境.调度器不是靠⾃⼰做 ...
【源码】otter⼯程结构
最近在搞数据同步相关的内容,需要对otter的代码进⾏扩展,所以需要先熟悉⼀下otter的源码.⾸先我们整体来看下otter的⼯程结构.otter的⼯程结构⽐较复杂,需要花费⼀定的时间来理解各个部分的 ...
Linux系统运维笔记(三),设置IP和DNS
Linux系统运维笔记(三),设置IP和DNS ⼿⼯配置静态的IP地址 也就是⼿⼯配置IP地址.⼦⽹掩码.⽹关和DNS. vi /etc/sysconfig/network-scripts/ifcfg ...
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论