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

Python的杂项

  1. 通用

    1. 使用KeyError抛出时,填写在报错信息里的转义字符不会被正常识别并转义!!!
  2. xlwings库

    1. 操作xlsx文件

      1. 若同时安装了“Microsoft Excel”与“WPS”,脚本运行时可能会报错或优先使用“Microsoft Excel”打开文件。
      2. 建议在脚本中的“使用xlwings打开表格文件”运行之前,添加清空下方路径文件夹的代码。有些情况下,脚本会因为这个文件夹里面的缓存文件报错。
        import os f"C:\\Users\\{os.getlogin()}\\AppData\\Local\\Temp\\gen_py" # os.getlogin()用于获取当前电脑登录的用户名称
    2. 写入pandas.Dataframe值

      1. 如果写入数据的区域中存在“列隐藏”或“启用了自动筛选并添加了筛选条件而使部分行被隐藏了”的情况,最后的写入结果会存在很大偏差。所以在写入表格之前,应先取消“行隐藏”、“列隐藏”、“自动筛选”。
        # 待写入的表格 df_2 = pandas.DataFrame( data={ "列1": [2,58,"5+", "822+", "5+",8,2,"5+",38], "列2": [2, 58, "5+", "822+", "5+", 8, 2, "5+", 38] } ) # 取消工作表的行隐藏 ws_by_xlwings.api.Rows.Hidden = False # ws_by_xlwings.api.Rows("2:3").Hidden = False 指定某整行区域隐藏 # 取消工作表的列隐藏 ws_by_xlwings.api.Columns.Hidden = False # ws_by_xlwings.api.Columns("C:T").Hidden = False 指定某整列区域隐藏 # 若存在自动筛选,则取消自动筛选。区域可随意指定。 if ws_by_xlwings.api.AutoFilterMode: ws_by_xlwings.range("A1").api.AutoFilter() # 写入表格的表头部分 ws_by_xlwings.range("A1").value = ( df_2.columns.tolist() ) # 写入表格的内容部分 ws_by_xlwings.range("A2").value = ( df_2.values.tolist() ) # 指定表格的表头区域,可以精确地设置自动筛选。例如:希望添加自动筛选的行在第二行,则可以指定区域为“A2:B2” ws_by_xlwings.range("A1:B1").api.AutoFilter() # 由此可以发现,其实这个自动筛选的接口没有包含检查“当前是否存在自动筛选”的步骤。 # 它只是将当前自动筛选的状态取反。相同的一段代码,既可以关闭也可以开启自动筛选,结果取决于当前表格是否已经启用自动筛选。
      2. 当被覆写区域中存在“仅存在自动筛选,且应用了筛选条件而使部分行被隐藏”的情况时,直接写入的表格数据的实际结果为:在不存在自动筛选的情况下表格数据将覆盖的区域内,对所有“可见且连续”的区域分别从表格首行开始选取相同行数的数据进行覆写,不对所有“不可见”的区域进行修改。详见下面各图:
        无筛选条件的结果
        筛选底纹颜色为黄色的结果 1
        筛选底纹颜色为黄色的结果 2
    3. 窗口冻结

      1. 使用xlwings冻结表格窗口时,需要设置app的visible=True,即app窗口可见。
      2. 如果要给多个工作表设定冻结窗口,那么需要在新建工作表后就设定。否则之后就再遍历多工作表的话,会因为无法选择下一个工作表的区域而报错。
      3. 需要选择最左侧连续整列或最上端连续整行的区域来冻结窗口,否则会因为select()函数的效果而导致最左侧列或最上端行被冻结在可视窗口之外。而至于同时设定行列的冻结方式,还不清楚怎么做。
    4. range区域引用方式

      1. 文本直接指定
        # 单一单元格 ws_by_xlwings.range("B4") # 区域 ws_by_xlwings.range("B4:C9")
      2. 从1开始的索引坐标值指定。先行后列,先左上角后右下角。
        # 单一单元格 ws_by_xlwings.range((4,2)) # 区域 ws_by_xlwings.range((4,2),(9,3))
    5. 给单元格字体设置颜色的有效方式

      1. 直接传入RGB三元组
        ws_by_xlwings.range("A2").font.color = (255,0,0) # 红色
      2. 调用Excel原生API。需要注意,此时的颜色表示值需要用十六进制反序值,即BGR。
        ws_by_xlwings.range("A2").api.Font.Color = 0x0000FF # 红色
  3. pandas库

    1. 使用pandas.query()选择记录时,查询文本中的逻辑运算符"and"和"or"必须使用小写。否则会报错SyntaxError: invalid syntax。
http://www.gsyq.cn/news/1583166.html

相关文章:

  • BabelDOC:让PDF文档实现智能双语翻译的5步魔法
  • MATLAB音频修复实战:从降噪到均衡,重现历史录音的经典之声
  • CANN/catlass模板库优化指南
  • Crayon完全指南:如何用任何语言轻松接入TensorBoard的强大可视化能力
  • 3步实现企业微信客户资源零流失:从业务痛点到技术落地的完整策略
  • PyVirtualDisplay完整指南:Xvfb、Xephyr和Xvnc三大后端深度解析
  • CANN/ge DataFlow Python注册函数指南
  • TruecallerJS API深度解析:如何构建专业的电话号码验证系统
  • 002 使用单片机实现的逻辑分析仪——扩展篇
  • cann/runtime随机数生成示例
  • 性能优化秘籍:TP=2 vs TP=4配置对比,找到最佳GPU资源利用方案
  • Gemma-4-31B-StyleTune vs 传统微调:终极VRAM需求对比分析
  • CANN ops-nn ApplyAdagradD算子
  • 98个公共Tracker完整指南:彻底解决BT下载卡顿难题
  • TruecallerJS实战应用:10个真实场景下的电话号码查询解决方案
  • 5个实战项目:用Deep Learning Illustrated代码构建深度学习应用
  • ComfyUI-LTXVideo完整指南:如何在ComfyUI中轻松生成高质量AI视频
  • CANN运行时设备到主机同步内存复制示例
  • Bernini-R-GGUF-ComfyUI核心功能解析:为什么它是视频创作者的终极工具
  • 快速上手hspec:10分钟学会Haskell BDD测试框架 [特殊字符]
  • 如何3分钟上手vite-vue3-chrome-extension-v3?从安装到第一个扩展的完整指南
  • CANN/catlass优化矩阵乘法示例
  • JoyAI-Image-Edit-Plus-Diffusers核心功能解析:Diffusers库的增强版图像编辑神器
  • Ngx-restangular 测试策略:单元测试和集成测试完整指南
  • 如何用Gemma-4-26B-A4B-StyleTune提升创作质量?新手必看的AI写作指南 [特殊字符]
  • Bernini-R-GGUF-ComfyUI安装教程:5分钟快速部署AI视频生成环境
  • FreeOpcUa在实际项目中的应用案例:工业自动化系统的集成经验
  • Agora-Flutter-SDK高级功能实战:美颜、虚拟背景与空间音频实现
  • The Lightmapper对比分析:与其他Blender光照贴图插件的优劣比较
  • XRCarouselView源码解析:理解iOS轮播控件的核心实现原理