news 2026/6/24 6:39:56

Python的杂项

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 6:37:30

网页界面:简洁的表

这是一个非常简洁的表 白底黑字(CSS) 每秒自动更新&#xff0c;响应式设计 当做背景不错 截图时间为25年8月15日00:00:09 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" conte…

作者头像 李华
网站建设 2026/6/24 6:37:01

高级Waypoint配置:自定义Landmark、WikiLinks和忽略路径设置

高级Waypoint配置&#xff1a;自定义Landmark、WikiLinks和忽略路径设置 【免费下载链接】Waypoint Obsidian plugin that gives you the power to generate dynamic MOCs in your folder notes. Enables folders to show up in the graph view and removes the need for messy…

作者头像 李华
网站建设 2026/6/24 6:26:00

如何用Sing-Guard-4b构建安全的AI对话系统?完整案例演示

如何用Sing-Guard-4b构建安全的AI对话系统&#xff1f;完整案例演示 【免费下载链接】Sing-Guard-4b 项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/Sing-Guard-4b Sing-Guard-4b是一款专为构建安全AI对话系统设计的工具&#xff0c;能够有效保障对话交互的…

作者头像 李华