当前位置: 首页 > 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.jsqmd.com/news/1071213/

相关文章:

  • Cocos Creator开发学习路线(个人向)
  • Ultralytics YOLO终极指南:从零到一的计算机视觉革命
  • 从创意到实现:基于ESP32与WS2812B打造光影涟漪智能时钟
  • BabelDOC:让PDF文档实现智能双语翻译的5步魔法
  • 如何用PyTorch实现Deep Learning Illustrated中的深度学习模型
  • MATLAB音频修复实战:从降噪到均衡,重现历史录音的经典之声
  • CANN/catlass模板库优化指南
  • Python虚拟显示神器PyVirtualDisplay:终极无头GUI测试解决方案
  • Android事件分发机制
  • PyVirtualDisplay完整指南:Xvfb、Xephyr和Xvnc三大后端深度解析
  • 深度解析MatchZoo与Awesome Neural Models for Semantic Match的集成应用
  • 如何快速入门Firo:隐私加密货币新手必备的完整指南
  • 3步实现企业微信客户资源零流失:从业务痛点到技术落地的完整策略
  • 从零到精通:如何用Intel RealSense SDK构建高精度三维视觉应用
  • 如何用Sing-Guard-4b构建安全的AI对话系统?完整案例演示
  • CANN/ge DataFlow Python注册函数指南
  • TeamSpeak 6 Server Docker部署终极指南:SQLite与MariaDB双数据库实战方案
  • ComfyUI-LTXVideo终极指南:5步实现专业级AI视频生成
  • CANN/catlass小形状矩阵乘法示例
  • JoyAI-Image-Edit-Plus-Diffusers未来路线图:AI图像编辑技术发展趋势
  • cann/runtime随机数生成示例
  • 002 使用单片机实现的逻辑分析仪——扩展篇
  • find、stat、touch、tree、scp、crontab指令相关应用
  • 5个实用技巧:用TimetableLayout打造专业级Android时间表应用
  • 性能优化秘籍:TP=2 vs TP=4配置对比,找到最佳GPU资源利用方案
  • TruecallerJS API深度解析:如何构建专业的电话号码验证系统
  • 解锁Java生态宝藏:从零构建企业级知识图谱的技术架构深度剖析
  • 98个公共Tracker完整指南:彻底解决BT下载卡顿难题
  • Bernini-R-GGUF-ComfyUI核心功能解析:为什么它是视频创作者的终极工具
  • ComfyUI-LTXVideo完整指南:如何在ComfyUI中轻松生成高质量AI视频