代码拉取完成,页面将自动刷新
import datetime
import os
import xlrd
import xlwt
from xlrd import xldate_as_tuple
from xlutils.copy import copy
def create_excel(path, sheet_name):
workbook = xlwt.Workbook() # 新建一个工作簿
workbook.add_sheet(sheet_name) # 在工作簿中新建一个表格
workbook.save(path) # 保存工作簿
def read_data(FileName, sheet_name, x, y, length, width):
# 1.打开文件
open_file = xlrd.open_workbook(FileName)
res = []
# 2.读取第二列的内容(表中第一列索引值为0)
st = open_file.sheet_by_name(sheet_name)
# st = open_file.sheet_by_index(1) # 选取第一个工作表
# 3.将表名追加到列表作为第一个元素
# title = open_file.sheet_names()
# 起始位置
# 长宽
row = st.nrows if st.nrows < length else length # 长度
column = st.ncols if st.ncols < width else width # 宽度
res = read_excel(st, x, y, row, column)
return res
def read_excel(st, x, y, row, column):
res = []
for i in range(x, column):
data = []
for j in range(y, row):
ctype = st.cell(j, i).ctype # 表格的数据类型
cell = st.cell_value(j, i)
if ctype == 2 and cell % 1 == 0: # 如果是整形
cell = int(cell)
elif ctype == 3:
istime = 0
# 日期数据只包含 %H:%M:%S,不包含%Y-%m-%d ,比如:01:31:52,
# 23:59:59的float形式值为: 0.999988425925926,是小于的,
if cell < 1:
istime = 1
sCell = 100.00 + cell
dtime = datetime.datetime(*xldate_as_tuple(sCell, 0))
strTime = dtime.strftime('%Y-%m-%d %H:%M:%S')
# 只包含时间,没有日期 比如:01:31:52
if istime == 1:
cell = strTime[11:]
else:
# 44521.0000115741 对应:2021/1/1 9:28:11格式%Y-%m-%d %H:%M:%S
# 44561.0 对应:2021/1/1 格式%Y-%m-%d
cell = strTime
elif ctype == 4:
cell = True if cell == 1 else False
data.append(cell)
res.append(data)
return res
def write_data(path, data, name):
index = len(data[0]) # 获取索引写入的行数
workbook = xlrd.open_workbook(path) # 打开工作簿
sheets = workbook.sheet_names() # 获取工作簿中的所有表格
worksheet = workbook.sheet_by_name(sheets[0]) # 获取工作簿中所有表格中的的第一个表格
cols_old = worksheet.ncols # 获取表格中已存在的数据的列数
cols_old = 0
nrows = worksheet.nrows + 2
new_workbook = copy(workbook) # 将xlrd对象拷贝转化为xlwt对象
new_worksheet = new_workbook.get_sheet(0) # 获取转化后工作簿中的第一个表格
new_worksheet.write(nrows, cols_old + 2, name) # 追加写入数据
for i in range(1, index + 1): # 列长度
for j in range(0, len(data)): # 行长度(默认数组长度)
new_worksheet.write(nrows + i, cols_old + 2 + j, data[j][i - 1]) # 追加写入数据
new_workbook.save(path) # 保存工作簿
def get_file_name(file_dir):
tmp_lst = []
for root, dirs, files in os.walk(file_dir):
for file in files:
tmp_lst.append(os.path.join(root, file))
return tmp_lst
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。