![](/img/trans.png)
[英]How to get a list of tuples from several text files (Part 2: Electric Boogaloo)?
[英]How to get a list of tuples from several text files?
我想访问 46 个子目录中的 .txt 文件,并提取每个文件文本中 0 和 1 的数量。 到目前为止,我已经编写了以下代码:
from pathlib import Path
def count_0s(paths):
for p in paths:
list_zeros = []
list_ones = []
for line in p.read_text().splitlines():
zeros = 0
zeros += line.count('0')
ones = 0
ones += line.count('1')
list_zeros.append(zeros)
list_ones.append(ones)
return list_zeros, list_ones
path = "/content/drive/MyDrive/data/classes/"
paths = Path(path).glob("*/marked*.txt")
n_zeros=count_0s(paths)
n_zeros
我想以 2 个列表的形式返回 function(一个具有 0 的数量,另一个具有 1 的数量)以在 Pandas Z6A8064B5DF479450570553C47DZ5 中使用。 抱歉,如果问题重复。
您的 function 中有几个错误:
splitlines()
已经返回一个列表)这是一个更正的 function:
def count_0s(paths):
zeros_list = []
ones_list = []
for p in paths:
zeros = 0
ones = 0
for line in p.read_text().splitlines():
for c in line:
if c == '0':
zeros += 1
else:
ones += 1
zeros_list.append(zeros)
ones_list.append(ones)
return zeros_list, ones_list
请注意,这可能是计算 0 和 1 的一种非常低效的方法。例如,仅使用line.count('0')
而不是 for 循环可以将速度提高 10 倍。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.