我在试着读一个文件。我想将文件的行解析为字典,但似乎无法将该部分放入数组中。在
我的文件看起来像:
记录:
2014-05-14,12:16:26,subject,{MSGTYPE="Personal" NAME="Fred" ADDRESS="Flat1" AGE=92 GENDER="M"}
2014-05-15,14:36:26,subject,{MSGTYPE="Personal" NAME="George" ADDRESS="Flat2" AGE=-20 GENDER="M"}
2014-05-13,16:49:26,subject,{MSGTYPE="Personal" NAME="Ringo" ADDRESS="Flat3" AGE=-36 GENDER="M"}
2014-05-12,14:45:26,subject,{MSGTYPE="Personal" NAME="Brian" ADDRESS="Flat4" AGE=-85 GENDER="M"}
2014-05-11,12:43:26,subject,{MSGTYPE="Personal" NAME="Paul" ADDRESS="Flat5" AGE=-33 GENDER="M"}
所以计划是用“,”来分割它。然后取值4并将其放入自己的字典中。但我的分裂出了问题。在
^{pr2}$我得到了一个错误:
Traceback (most recent call last):
File "FAST_RV_Tests.py", line 70, in <module>
IndexError: index out of range: 1
正如我所料,第一次打印返回的是“1:2014-05-14”。但阵列中没有其他东西。在
您的错误出现在第二行
format
上:您只格式化了一个值,因此
{1}
应该是{0}
正确使用
^{pr2}${1}
应该是如果您有这样的东西:您的数据文件中可能有空行,拆分这样的行将不会返回具有足够项的列表。在
在循环中,如果遇到空行,则应调用
continue
。在另一个提示是调用
split
,第二个参数告诉您应该应用多少个拆分。这将允许获取最后的JSON部分,您可以在其上使用json.loads
来获取内容如果我修改您的数据以反映您关于在末尾有JSON数据的声明
它的工作原理如下:
^{pr2}$print '2: {1}'.format(valuesArray[1])
不应该是print '2: {0}'.format(valuesArray[1])
?在格式中只有一个参数,索引1超出范围。在
相关问题 更多 >
编程相关推荐