如何在Python上从文本文件中提取总和数据

如何在Python上从文本文件中提取总和数据,python,text-files,data-analysis,Python,Text Files,Data Analysis,我有一个文本文件txt,它有6列: 1.性别男/女2.年龄3.身高4.体重5.-/+6.邮编 我需要从这篇文章中找出有多少男性有-符号。例如:从txt中,30毫米是- 所以我只需要结尾的数字 从逻辑上讲,我需要处理第1列和第5列,但我很难在最后只得到一个和数 这是正文的内容: M 87 66 133 - 33634 M 17 77 119 - 33625 M 63 57 230 - 33603 F 55 50 249 - 33646 M 45 51 204 - 33675 M 58

我有一个文本文件txt,它有6列: 1.性别男/女2.年龄3.身高4.体重5.-/+6.邮编

我需要从这篇文章中找出有多少男性有-符号。例如:从txt中,30毫米是-

所以我只需要结尾的数字

从逻辑上讲,我需要处理第1列和第5列,但我很难在最后只得到一个和数

这是正文的内容:

M 87  66 133 - 33634
M 17  77 119 - 33625
M 63  57 230 - 33603
F 55  50 249 - 33646
M 45  51 204 - 33675
M 58  49 145 - 33629
F 84  70 215 - 33606
M 50  69 184 - 33647
M 83  60 178 - 33611
M 42  66 262 - 33682
M 33  75 176 + 33634
M 27  48 132 - 33607
我现在得到了结果…,但我想要M和正值。如何将其添加到事件

f=open('corona.txt','r')
data=f.read()
occurrences=data.count('M')
print('Number of Males that have been tested positive:',occurrences)

如果你对文本和专栏数据做了大量的工作,我建议你开始学习熊猫

对于此任务,如果csv为每行一条记录且以空格分隔,则:

import pandas as pd
d = pd.read_csv('data.txt', 
        names=['Sex', 'Age', 'Height', 'Weight', 'Sign', 'ZIP'], 
        sep=' ', index_col=False)

d[(d.Sex=='M') & (d.Sign=='-')].shape[0] # or
len(d[(d.Sex=='M') & (d.Sign=='-')]) # same result, in this case = 9
熊猫是一个非常广泛的包。这段代码的作用是从csv数据构建一个数据框,为每列指定一个名称。然后从中选择两个条件Sex='M'和Sign='-'所在的每一行,并报告由此找到的记录数


我建议开始

您可以像这样拆分行:

occurrences = 0
with open('corona.txt') as f:
    for line in f:
        cells = line.split()
        if cells[0] == "M" and cells[4] == "-":
            occurrences += 1
print("Occurrences of M-:", occurrences)

但最好使用模块或pandas进行此类工作。

您尝试过什么?显示您现有的代码和不符合预期的内容共享代码和txt文件的几行我使用csv和enumerate进行了尝试,但我需要使用简单的语法进行操作。请共享您的代码以查看您尝试过的内容…请复制您的代码并粘贴到此处,这对我们非常有帮助!但是我不应该使用其他库,我应该使用简单的语法基本库来获得结果:比如openread和使用循环。对不起,我把简单语法误解为Consise语法,而不是不使用附加包。你能用你已经尝试使用开放内置的代码来更新你的OP吗,以及你得到的结果?有没有任何可能的方法来获得相同的结果,但定义它的方式是:file=open'mf.txt',r'for line in file:printline file.closeYes这就是我要找的。谢谢!感谢您: