Python:从文本fi创建映射(tuple)

2024-04-18 17:59:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,通过处理棘手的问题,我学到了很多东西。我需要社区的帮助来解决这个问题。我有一个包含以下数据的文本文件。在

river,4
-500, -360
-500, 360
500, 360
500,-360

sand, 3
400, 300
500, 300
200, 100

我的问题是,我需要将此文件加载并创建一个tuple,如下所示:

^{pr2}$

这是我目前为止的代码

file=open("file.txt", "r")
lineString=file.readlines()

请不要无缘无故地贬低我。我是新加入社区并学习python的。在


Tags: 文件数据代码txtopen社区file文本文件
1条回答
网友
1楼 · 发布于 2024-04-18 17:59:51

这会给你想要的:

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)

印刷品

^{pr2}$

我得说你组织数据的方式对我来说毫无意义。上面的代码只有在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)])

相关问题 更多 >