小编hor*_*_vr的帖子

openpyxl按名称获取表格

我正在将一些数据写入Excel文件,但我不知道如何调整代码以便能够控制我写入的表格:

wb = load_workbook(filename)
active_ws = wb.active
Run Code Online (Sandbox Code Playgroud)

而不是wb.active,我怎么能说出类似的东西Sheets('Data')(这就是VBA语法的样子......)?

python openpyxl

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

如何检查IF语句中的值列表?

我想写一个像这样的IF语句:

if var [is any of 1,4,5,6,12] then do stuff
Run Code Online (Sandbox Code Playgroud)

但我不知道VBA中的语法,除了:

if var=1 or var=4 or var=5...
Run Code Online (Sandbox Code Playgroud)

这看起来有点笨拙.有不同的方式吗?

excel vba if-statement

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

Excel VBA - 添加自定义数字格式

我有一个文件,在 Excel 之外生成,有很多百分比。所有这些百分比都有一个小数位。当导入到 Excel 中时,Excel 会为百分比添加第二个小数位 - 这似乎是 Excel 中百分比的一些默认格式。它只是添加了一个“0”。

我想将所有双小数位百分比格式化为一个小数点。如果我手动执行此操作,通过使用 CTRL+H,查找格式/替换格式,它会顺利进行。但是我不能通过 VBA/宏来做到这一点,即使我在手动替换时记录了宏。录制宏生成的代码是这样的:

Application.FindFormat.NumberFormat = "0.00%"
Application.ReplaceFormat.NumberFormat = "0.0%"
Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _
    xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=True
Run Code Online (Sandbox Code Playgroud)

失败发生在:

Application.ReplaceFormat.NumberFormat = "0.0%"
Run Code Online (Sandbox Code Playgroud)

经过大量的反复试验,我发现新格式需要在自定义格式列表中。但默认情况下不存在单小数位百分比。如果我手动将单个单元格格式化为所需的格式,宏就可以工作。当然,我不想对每个文件都这样做。

任何输入将不胜感激。

提前致谢!

excel vba

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

SPSS语法-文件的使用路径

我有一堆SPSS数据和语法文件,它们每天都在移动,每天都在更改文件夹。但是,相对路径保持不变。有没有办法利用这个事实?例如:使用INCLUDE命令并引用一个语法文件,该文件始终是一个路径级别;或使用GET打开文件(位于两个级别上)

在谷歌搜索中,我发现了对HOST命令的一些引用,但是我并没有使它起作用。

任何输入将不胜感激:)

提前谢谢

syntax path spss

3
推荐指数
1
解决办法
1098
查看次数

Unix Shell循环文件并替换文本

我对这个东西相当新,我需要一个shell文件来遍历文件夹中的所有".xml"文件,并进行一些文本替换.到目前为止,我已经想出了这个:

sed "s/old_text/new_text/g" testfile.xml -i
Run Code Online (Sandbox Code Playgroud)

但是,我希望它在当前文件夹中的所有xml文件上运行,而不仅仅在"testfile.xml"上运行.此外,如何备份原始文件?

任何输入都受到欢迎!非常感谢!

unix shell loops sed

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

Python正则表达式排除一个字符

有一个文本列表:

l=["SOMETHING","SOME_1","SOM_1"]
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个正则表达式模式来匹配第一个字符串,但不匹配第二个字符串:

  • TRUE如果文本以 'SOM' 开头,可能有一些其他字符,并且没有下划线,则返回;
  • 因此,FALSE如果文本以 'SOM' 开头并且至少包含一个下划线(文本内的某处,下划线在哪里并不重要),则返回

这是我尝试过的,但不起作用:

import re
l=["SOMETHING","SOME_1","SOM_1"]
find_pattern=re.compile("^SOM[A-Z]*[^_]")
for s in l:
    print bool(find_pattern.match(s))
Run Code Online (Sandbox Code Playgroud)

我期待:

True
False
False
Run Code Online (Sandbox Code Playgroud)

但我认为乘法操作数不正确,因为我得到:

True
True
False
Run Code Online (Sandbox Code Playgroud)

python regex

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

使用 Like 和通配符的 VBA 字符串搜索

我正在使用Like运算符进行模式搜索。这是我到目前为止想出的:

if MyString Like "*sometext?" + "_*" then
    debug.print "Match found!" 
else
    debug.print "Not a match"
Run Code Online (Sandbox Code Playgroud)

我需要这个来匹配只有当之间的字符sometext_一个数字(只有一个单一的数字,没有字母)。例如:

MyString='testingsometext3_whatever' 应该是一场比赛

MyString='testingsometext321_whatever' 不应该是匹配的(有 3 位数字,而不仅仅是一位)

MyString='testingsometext_whatever'不应该是匹配项,因为text和之间没有字符_

MyString='testingsometexts_whatever'不应该是匹配项(text和之间至少有一个字母数字_) -目前这对我不起作用,我需要帮助

excel vba

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

Python - 覆盖导入文件中的常量并在导入函数中使用

我有一个模块,其中定义了一些常量,并在多个函数中使用。我如何从我的主文件中覆盖它们的值?

说这是模块,test_import.py

MY_CONST = 1

def my_func(var = MY_CONST):
    print(var)
Run Code Online (Sandbox Code Playgroud)

这是我的main.py文件:

import test_import

MY_CONST = 2
test_import.MY_CONST = 3

test_import.my_func()
Run Code Online (Sandbox Code Playgroud)

这段代码仍然打印“1”。我希望它打印一些其他值(显然,在调用时不传递值my_func()

python python-import

0
推荐指数
1
解决办法
62
查看次数

标签 统计

excel ×3

python ×3

vba ×3

if-statement ×1

loops ×1

openpyxl ×1

path ×1

python-import ×1

regex ×1

sed ×1

shell ×1

spss ×1

syntax ×1

unix ×1