小编Bra*_*don的帖子

如何在文本字符串中提取文本

我有一个简单的问题,我希望在不使用VBA的情况下解决,但如果这是解决它的唯一方法,那就这样吧.

我有一个包含多行的文件(所有一列).每行的数据看起来像这样:

1 7.82E-13> gi | 297848936 | ref | XP_00 | 4-氢氧化物gi | 297338191 | gb | 23343 | randomrandom

2 5.09E-09> gi | 168010496 | ref | xp_00 | 2 - 丙酮酸盐

等等...

我想要的是一些方法来提取以"gi |"开头的数字串 并以"|"结束.对于某些行,这可能意味着多达5个gi数字,而对于其他行,它只是一个.

我希望输出看起来像是这样的:

297848936,297338191

168010496

等等...

excel vba worksheet-function excel-vba excel-formula

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

使用Python在一列中选择具有特定值范围的行

我知道这很简单,但我是Python的新用户,所以我在这里遇到了一些麻烦.我顺便使用Python 3.

我有多个文件看起来像这样:

NAME DATE AGE SEX COLOR

Name Date Age Sex Color
Ray  May  25.1 M  Gray
Alex Apr  22.3 F  Green
Ann  Jun  15.7 F  Blue
Run Code Online (Sandbox Code Playgroud)

(假设这是制表符分隔.我应该补充一点,真正的文件将有大约3,000行和17-18列)

我想要做的是选择年龄列中小于23的值的所有行.

在此示例中,输出将是:

Name Date Age Sex Color
Alex Apr  22.3 F  Green
Ann  Jun  15.7 F  Blue
Run Code Online (Sandbox Code Playgroud)

这是我试图做的事情:

f = open("addressbook1.txt",'r')
line = f.readlines()
file_data =[line.split("\t")]
f.close()

for name, date, age, sex, color in file_data:
    if age in line_data < 23:
        g = open("college_age.txt",'a')
        g.write(line)
    else:
        h = open("adult_age.txt",'a')
        h.write(line)
Run Code Online (Sandbox Code Playgroud)

现在,理想情况下,我有20-30个这样的"地址簿"输入文件,我希望这个脚本循环遍历它们,并将年龄低于23的所有条目添加到同一个输出文件("college_age.txt").我真的不需要保留其他线路,但我不知道还能用它们做什么. …

python parsing loops rows

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