【发布时间】:2020-05-30 20:15:47
【问题描述】:
当我读取一个文件时,它会给我这样的输出:
CW 0.000000 0.003822 0.006380 0.005100 0.016987 0.307042
CW 0.007136 0.019635 0.329683 0.315180 0.302634 0.007076
CW 0.015666 0.299244 0.290860 0.292623 0.325943 0.005236
CS 0.022060 0.288761 0.311449 0.289165 0.289937 0.317213
CS 0.019635 0.040511 0.301167 0.011418 0.295902 0.017166
CS 0.020990 0.345277 0.352370 0.034237 0.020962 0.015749
我想统计文件中 CW 和 CS 的总数。输出应如下所示:
3 #For CW
3 #For CS
我尝试使用以下代码:
with open ("file", 'r') as rf:
v=rf.read().split('\n')
i=[]
for e in v[1::47]: #(only the names)
r=(e[:12])
s=(r[:2])
q= sum(c != ' ' for c in s)
print(q)
但它给了我这个输出
2
2
2
2
2
2
我什至尝试过导入计数器,但它给了我这样的输出:
C 1
W 1
C 1
W 1
C 1
S 1
请建议一些方法,以便我可以获得预期的输出。任何帮助将不胜感激。
【问题讨论】:
-
逐行读取文件,并使用字典记录计数。
-
@TimBiegeleisen 我正在使用 read.split() 读取文件,在尝试 realines() 时,我没有得到这些行,例如:CW,CW,我之前使用 read.split 实现的()。在使用 read.split() 的计数时,它给了我与前面提到的相同的答案。
-
@Babydesta 在发布我的问题之前,我确实看过这些问题。不幸的是,这些代码对我不起作用。
标签: python python-3.x file dataframe counting