当前位置: 首页 > news >正文

做网站的账务处理app推广软件有哪些

做网站的账务处理,app推广软件有哪些,网络优化内容有哪些,韩国代购网站开发Python pandas openpyxl excel合并单元格,设置边框,背景色 1. 效果图2. 源码参考 1. 效果图 pandas设置单元格背景色,字体颜色,边框 openpyxl合并单元格,设置丰富的字体 2. 源码 # excel数字与列名互转 import o…

Python pandas openpyxl excel合并单元格,设置边框,背景色

    • 1. 效果图
    • 2. 源码
    • 参考

1. 效果图

pandas设置单元格背景色,字体颜色,边框
在这里插入图片描述

openpyxl合并单元格,设置丰富的字体
在这里插入图片描述

2. 源码

# excel数字与列名互转
import osimport numpy as np
import openpyxl
import pandas as pd
from openpyxl.styles import Side, Border, Font# 列名转数字
def column_to_num(s: str) -> int:assert (isinstance(s, str))for i in s:if not 64 < ord(i) < 91:raise ValueError('Excel Column ValueError')return sum([(ord(n) - 64) * 26 ** i for i, n in enumerate(list(s)[::-1])])# 数字转列名
def num_to_column(n: int) -> str:assert (isinstance(n, int) and n > 0)num = [chr(i) for i in range(65, 91)]ret = []while n > 0:n, m = divmod(n - 1, len(num))ret.append(num[m])return ''.join(ret[::-1])def read_and_merge(file=None):np.random.seed(24)print([x[0] for x in np.random.randn(10, 1).tolist()])data = {'name': ['Lucy'] * 10,'title': ['美丽的花朵'] * 6 + ['面向未来'] * 4,'爱好': ['篮球', '足球', '羽毛球', '乒乓球', '网球', '游泳', '瑜伽', '阅读', '骑行', '爬山'],'Date': pd.to_datetime(['2017-05-31 20:53:00', '2017-05-11 20:53:00', '2017-05-08 20:53:00','2017-06-06 20:53:00', '2017-06-06 20:53:00'] * 2),'A': np.linspace(1, 10, 10).tolist(),'B': [x[0] for x in np.random.randn(10, 1).tolist()],'C': [x[0] for x in np.random.randn(10, 1).tolist()],'D': [x[0] for x in np.random.randn(10, 1).tolist()],'E': [x[0] for x in np.random.randn(10, 1).tolist()],'F': [x[0] for x in np.random.randn(10, 1).tolist()],'G': [x[0] for x in np.random.randn(10, 1).tolist()],'H': [x[0] for x in np.random.randn(10, 1).tolist()]}df_b = pd.DataFrame(data)print(df_b)# 定义一个函数来设置样式,将文本居中对齐和上下居中对齐def set_cell_style(value):style = 'text-align: center; vertical-align: middle; border: solid 1px black; 'return styledef set_cell_color(val):if val < 4:color = 'green'elif val < 8:color = 'yellow'else:color = 'red'return 'background-color: %s' % colordef color_negative_red(val):"""Takes a scalar and returns a string withthe css property `'color: red'` for negativestrings, black otherwise."""# print('---val:', val)# color_list = []# for val in vals:#     color = 'color: %s' % ('red' if val < 0 else 'black')#     color_list.append(color)# return color_listreturn 'color: %s' % ('red' if val < 0 else 'black')# 使用Styler对象来应用样式,同时设置文本的居中对齐和上下居中对齐df_c = df_b.style.map(lambda x: set_cell_style(x)).map(lambda x: set_cell_color(x), subset=['A']).map(lambda x: color_negative_red(x), subset=pd.IndexSlice[[1, 3, 5, 7, 9], ['B', 'C', 'D', 'G']])# 保存到新文件df_c.to_excel('temp.xlsx', index=False, engine='openpyxl')# 合并单元格wb = openpyxl.load_workbook('temp.xlsx')ws = wb.active# 第一列连续相同值的合并单元格# 获取第一列数据type_list = []i = 2while True:r = ws.cell(i, 1).valueif r:type_list.append(r)else:breaki += 1# 判断合并单元格的始末位置s = 0e = 0flag = type_list[0]for i in range(len(type_list)):if type_list[i] != flag:flag = type_list[i]e = i - 1if e >= s:ws.merge_cells("A" + str(s + 2) + ":A" + str(e + 2))s = e + 1if i == len(type_list) - 1:e = iws.merge_cells("A" + str(s + 2) + ":A" + str(e + 2))### 合并列num_rows = ws.max_rowcombine_columns = {('F', 'G')}for i in range(num_rows):for columns in combine_columns:start, end = columnsws.merge_cells(start + str(i + 1) + ":" + end + str(i + 1))# 定义不同列的字体配置font_columns = [(['A', 'B', 'C'], Font(name='Times New Roman', size=9, bold=True)),(['D', 'E'], Font(name='Times New Roman', size=12)),(['F', 'G'], Font(name='宋体', size=12)),]# 设置列的字体样式for labels, font in font_columns:for label in labels:for cell in ws[label]:cell.font = font# XX结尾的数据改成红色if cell.value and str(cell.value).endswith("XX"):cell.value = cell.value[:-2]cell.font = Font(name='Times New Roman', size=12, bold=True, color="FF0000", )# 创建一个边框样式border_style = Border(left=Side(border_style='thin', color='000000'),right=Side(border_style='thin', color='000000'),top=Side(border_style='thin', color='000000'),bottom=Side(border_style='thin', color='000000'))# 遍历工作表中的所有单元格并应用边框样式for row in ws.iter_rows():for cell in row:cell.border = border_stylewb.save('output_excel_file.xlsx')try:os.remove('temp.xlsx')except FileNotFoundError:passexcept Exception as e:passreturn 'output_excel_file.xlsx'if __name__ == '__main__':for i in range(1, 100):column_name = num_to_column(i)print(i, column_name, column_to_num(column_name))read_and_merge()

参考

  • https://blog.csdn.net/boysoft2002/article/details/119794260
  • https://blog.csdn.net/flysnownet/article/details/134049045
  • https://blog.csdn.net/shenqigongshi/article/details/131438042
  • https://blog.csdn.net/shenghaomail/article/details/125754836
  • https://blog.csdn.net/Xw_Classmate/article/details/109006600
http://www.hkea.cn/news/602560/

相关文章:

  • 手机网站制作哪家好查关键词
  • 米拓企业网站管理系统电商培训机构排名前十
  • 做效果图有哪些网站seo点击排名
  • 网络营销推广网站收录seo推广排名平台有哪些
  • 产品经理如何看待网站开发广州软件系统开发seo推广
  • wordpress 忘记管理员如何做网站seo
  • app和网站哪个有优势淘宝关键词排名
  • wordpress该域名宁波网站seo公司
  • 建购物网站怎么建呀简单的网站建设
  • 江苏省建设教育协会网站首页百度知道合伙人答题兼职入口
  • 做优化的网站平台搭建
  • 做网站需要多久网络推广是什么专业
  • 厦门加盟网站建设线上推广营销
  • 定制网站案例seo搜索引擎优化薪酬
  • 网站制作成功后怎么使用浏览器观看b站视频的最佳设置
  • 一家专门做开网店的网站北京seo专员
  • 专业企业网站搭建服务头条权重查询
  • 去哪儿网站上做民宿需要材料免费的黄冈网站有哪些平台
  • 网站建设网现在推广什么app最挣钱
  • 嘉兴装修公司做网站安装百度到桌面
  • 电商网站特点外贸营销网站建站
  • 上海市住房城乡建设管理委员会网站网络营销软文范例大全800
  • 莱芜区政协网站做网络优化的公司排名
  • 太原网站建设开发公司电商运营基本知识
  • php做企业网站seo网站推广企业
  • 万网网站备案授权书免费发布推广信息的b2b
  • 乡镇可以做门户网站seo是什么意思职业
  • 建设银行网站优点做个公司网站大概多少钱
  • 网站标题的设置方法哪家建设公司网站
  • 网站空间托管电商平台的营销方式