小编Hen*_*ale的帖子

如何使用数组字典循环工作表

我想做点什么

  1. 循环遍历值的范围(标题范围)并将它们收集到数组或其他任何内容中
  2. 使用键作为范围中的值来创建数组的字典
  3. 循环通过工作表寻找这些键
  4. 对于它找到的每个键,

    一个.在下面创建一个值数组

    湾 填充所有数组,使它们的长度相同

    C.使用相同的密钥将其连接到存储在字典中的数组

  5. 将连接的值复制回标题范围下方的单元格

我做了1,2,4和5.我跳过3,因为这很容易,我会在以后再做.但是4很棘手,因为我无法处理字典和数组的工作方式.我试图制作一个数组字典,但它们是复制而不是引用,有时复制是空的.我不知道.

在javascript中,它只是:

  • 做一个 dict = {}
  • 循环遍历值并做 dict[value] = []
  • 然后 dict[value].concatenate(newestarray)
  • 然后将字典翻转回一个数组,for(var k in dict){}其中包含google工作表,你必须转置.烦人,但并不可怕.
  • 然后最后,一些功能将它放回到工作表中,在google工作表中这将是微不足道的.

这是我的4部分代码:

With rws
    For Each Key In headerdict 'loop through the keys in the dict
        Set rrng = .Cells.Find(key, , _ 'find the key in the sheet
            Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart, _
            Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, False)

        If rrng Is Not Empty Then
            'find last cell in column of data
            Set rdrng = .Cells(rws.Rows.Count, rrng.Column).End(xlUp) …
Run Code Online (Sandbox Code Playgroud)

arrays excel vba excel-vba

7
推荐指数
1
解决办法
351
查看次数

如何更改 db dbeaver 中的选项卡颜色

我在“首选项”>“用户界面”>“外观”>“颜色和字体”中到处查看
,它不在选项卡过滤器文本下。这就是我现在所拥有的: 在此输入图像描述

如果字体和选定的选项卡颜色稍微分开一点,那就太好了。

dbeaver

7
推荐指数
0
解决办法
1499
查看次数

Eclipse 控制台文本颜色

我需要改变那个蓝色。当正午时分,太阳处于方位角时,我必须非常靠近才能阅读字母。可以做点什么吗? 控制台图像

eclipse console colors

5
推荐指数
2
解决办法
1万
查看次数

Postgres 哈希连接与嵌套循环决策

我有一个很长的查询,我将在这里总结并粘贴在底部:

select * from
a
left join b t1 on a.x = b.x
left join b t2 on a.y = b.x
left join b t3 on a.z = b.x
left join c on a.1 = c.1 and a.2 = c.2 and a.3 = c.3 --call this predicate 1
where c.z is null
Run Code Online (Sandbox Code Playgroud)

a 和 c 有主键 1,2,3 非聚集 ax y 或 z 可以为 null 您将在下面链接的内容中看到 a 是 40k 行,c 是 500k 行,b 是 7k 行。此查询需要 10 分钟。直接用excel手工做会更快。即使我运行了真空完整分析并且它有不应该的嵌套循环,我的行计数估计都是错误的

这是完整的 https://explain.depesz.com/s/w2uN

当我删除谓词 …

postgresql sql-execution-plan

5
推荐指数
1
解决办法
2966
查看次数

如何使用包含 @ 的密码的 SQLAlchemy create_engine()

这有效:

db = pyodbc.connect('driver={SQL Server Native Client 11.0}; server=172.30.0.194; database=db;uid=someuser; pwd=fancy@password')
Run Code Online (Sandbox Code Playgroud)

这不

cn_string = "mssql+pyodbc://someuser:"fancy&password"@172.30.0.194/db?driver=SQL+Server+Native+Client+11.0"
return create_engine(cn_string)
Run Code Online (Sandbox Code Playgroud)

这也不:

driver = "SQL Server Native Client 11.0"
server = "192.30.0.194"
database = "EPM_Dashboard"
uid = "someuser"
pwd = "fancy@password"
params = f'DRIVER={{{driver}}};SERVER={server};DATABASE={database};UID={uid};PWD={{{pwd}}};'

connection_string = 'mssql+pyodbc:///?odbc_connect=%s' % urllib.parse.quote_plus(params)

return create_engine(connection_string)
Run Code Online (Sandbox Code Playgroud)

我得到类似的东西:

登录超时已过期(0);[08001] [Microsoft][SQL Server Native Client 11.0]与 SQL Server 建立连接时发生网络相关或实例特定的错误。找不到服务器或无法访问服务器。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。(53)

如果 pyodbc 项目失败,这会更可信。

这是另一个失败:

return create_engine(urllib.parse.quote_plus('driver={SQL Server Native Client 11.0}; server=172.30.0.194; database=EPM_Dashboard;uid=someuser; pwd=fancy@password'))
    
Run Code Online (Sandbox Code Playgroud)

我确信我在某个地方缺少了一个棘手的角色。

这是一些资源

https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-databases

SQL密码中的特殊字符 …

sql-server sqlalchemy python-3.x

5
推荐指数
1
解决办法
7306
查看次数