【发布时间】:2021-12-29 16:29:58
【问题描述】:
我刚刚开始我的编码冒险。我的问题是我有一个结构文件:
% program : RTKPOST
% pos mode : ppp-static
% solution : forward
% elev mask : 10.0 deg
% dynamics : off
% tidecorr : off
% tropo opt : saastamoinen
% ephemeris : broadcast
% ==================================== END OF HEADER
我希望代码返回字典{program: "RTKPOST", pos_mode : "ppp-static"}
我在尝试:
data = []
header = {}
with open("file.txt") as file:
for line in file:
if line.startswith("%"):
key, val = line.split()
header[key] = val
else:
data.append(line.split())
得到:
ValueError: too many values to unpack (expected 2)
【问题讨论】:
-
您是否尝试过可能表明您遇到问题的级别?没有这个就很难得到合适的答案。例如,您知道如何打开文件吗?你知道如何遍历文件吗?你知道如何构造任何
Dict吗? -
这是一种不方便的格式。这个文件是从哪里来的?您可能希望先生成一个更易于解析的文件(例如 JSON 或 CSV)。
-
@L.Grozinger 已编辑
-
你不能像这样将数据解压到
key, value。尝试类似split_value = line.split(":")然后header[split_value[0]] = split_value[1] -
然后我得到了
IndexError: list index out of range
标签: python file dictionary