【问题标题】:Python: Reading file into dictionary/list [closed]Python:将文件读入字典/列表[关闭]
【发布时间】:2019-01-04 14:31:59
【问题描述】:

我是 python 的新手,目前在将数据从文件导入小游戏时遇到问题。

我有一个格式如下的文件:

Playername1
A;0,1;0,2;0,3
B;1,1;1,2;1,3

我目前正在尝试找到一种方法将其导入字典,其中播放器名称作为键,字典列表包含字母(每行前面)作为键,值是元组列表(坐标)。

到目前为止我已经尝试过(但失败了):

结合使用 dict() 函数和 readlines() 函数以及 split(;) 函数来分割坐标。但是,每当我尝试使用截止日期(1)阅读第一行时,它都不会返回整行。

正在寻找一种相当有效的方法。非常感谢任何帮助。

【问题讨论】:

标签: python dictionary file-handling


【解决方案1】:

使用csv 模块。读取第一行并存储在主密钥中

然后读取其余行并使用列表切片构建字典列表。要创建列表,请在每个单元格值上应用 split 以创建 2 元素列表。

import csv

with open("input.csv") as f:
    cr = csv.reader(f,delimiter=";")
    master_key = next(cr)[0]
    dict_list = [{row[0]:[x.split(",") for x in row[1:]]} for row in cr]

result = {master_key:dict_list}

>>> result
{'Playername1': [{'A': [['0', '1'], ['0', '2'], ['0', '3']]},
             {'B': [['1', '1'], ['1', '2'], ['1', '3']]}]}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 2016-03-15
    • 2015-07-27
    相关资源
    最近更新 更多