我有一个包含 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 中的相应位置。
