Skip to main content
 首页 » 编程设计

python之如何对文本文件中的数字进行分类

2025年05月04日24emanlee

我有一个包含 5000 行的文本文件。它的格式是这样的:

1,3,4,1,2,3,5,build 
2,6,4,6,7,3,4,demolish 
3,6,10,2,3,1,3,demolish 
4,4,1,2,3,4,5,demolish 
5,1,1,1,1,6,8,build 

我想制作不同的列表,例如: 第二列:

second_build=[3,1] 
second_demolish=[6,6,4] 

我试过类似的东西:

with open('cons.data') as file: 
    second_build=[line.split(',')[1] for line in file if line.split(',')[7]=='build'] 

但是没有用。

请您参考如下方法:

您可以按如下方式获取每个列/操作的值:

lines = """1,3,4,1,2,3,5,build 
2,6,4,6,7,3,4,demolish 
3,6,10,2,3,1,3,demolish 
4,4,1,2,3,4,5,demolish 
5,1,1,1,1,6,8,build""".split( 
    "\n" 
) 
 
build_cols = [list() for _ in range(7)] 
demolish_cols = [list() for _ in range(7)] 
data = {"build": build_cols, "demolish": demolish_cols} 
 
for line in lines: 
    tokens = line.split(",") 
    for bc, tok in zip(data[tokens[-1]], tokens): 
        bc.append(tok) 
 
# to access second column build values: 
print(build_cols[1]) 
# ['3', '1'] 

例如,build_cols 存储列表的列表,每个条目代表一列。对于每个构建行,您将适当列中的项目附加到 build_cols 中的相应位置。