我有一个包含以下数据的文本文件。
river,4
-500, -360
-500, 360
500, 360
500,-360
sand, 3
400, 300
500, 300
200, 100
我的问题是,我需要加载这个文件并创建一个tuple
,它看起来如下:
block=("river",4,(-500, -360),(-500, 360),(500, 360),(500,-360)), ("sand", 3,(400,300), (500, 300), (200, 100))
这是我迄今为止的代码
file=open("file.txt", "r")
lineString=file.readlines()
这将为您提供您想要的:
import csv
output = []
block = ()
with open('input_file') as in_file:
csv_reader = csv.reader(in_file)
for row in csv_reader:
output.append(tuple(row))
first_element = output[0]
a, b, c, d = output[1:]
block = (first_element[0], a, b, c, d)
打印
("river",(-500, -360),(-500, 360),(500, 360),(500,-360))
我必须说,你组织数据的方式对我来说毫无意义。上面的代码只有在river, 4
行之后有4行时才能工作。如果有更多替换:
a, b, c, d = output[1:]
block = (first_element[0], a, b, c, d)
带有
block = (first_element[0], output[1:])
但在这种情况下,输出将是:
("river",[(-500, -360),(-500, 360),(500, 360),(500,-360)])