我正试图将特定字符索引到它们自己的变量中,而我只能对1个字符执行此操作。
with open(fileName) as f:
count1 = sum(l[0] == '1' for l in f)
count2 = sum(l[0] == '2' for l in f)
print(count1)
print(count2)
这是我的输出
50
根据csv文件中的值,它应该是:
54
我应该提到,当我将第一个变量中的值从"1"更改为"2"时,它确实给了我4,但出于某种原因,我不能同时执行这两个操作。
好吧,一旦在f
上迭代一次,f
就会耗尽。也就是说,从中阅读不会得到任何回报。
基本上有两种方法可以解决这个问题:
1:打开文件两次
with open(fileName) as f:
count1 = sum(l[0] == '1' for l in f)
with open(fileName) as f:
count2 = sum(l[0] == '2' for l in f)
2:将文件读入内存并使用该
with open(fileName) as f:
lines = f.readlines()
count1 = sum(l[0] == '1' for l in lines)
count2 = sum(l[0] == '2' for l in lines)
你用哪一个取决于你。
(代码未经测试。可能包含拼写错误(