扁平化python中字符串列表的列表

时间:2019-08-16 14:04:48

标签: python numpy-ndarray

我在python中有以下列表:

ipdb> xgboost_prediction
'[["2019-08-16 14:22:00.0", "ls5923_splunk", "False"]]'

我的目标是将其附加到csv文件中,这将在几分钟内完成。

现在,我想我可以轻松地将其转换为pandas dataframe并附加csv。但是不知何故我在为此挣扎。如何将其展平并转换为数据框?

我尝试过:

ipdb> 
ipdb> list2 = [inner for item in xgboost_prediction for inner in ast.literal_eval(item)]
*** SyntaxError: unexpected EOF while parsing

ipdb> new_lst = [sub_val for val in xgboost_prediction for sub_val in eval(val)]
*** SyntaxError: unexpected EOF while parsing

请咨询。

1 个答案:

答案 0 :(得分:0)

由于您只想使用熊猫将标准格式的值附加到csv上就显得过头了。您只需将数组转换为逗号分隔的字符串,然后将其直接附加到文件中即可。如果您认为字符串中可能包含特殊字符,则还可以使用csv库,该库将自动添加正确的格式以转义任何字符串。

xgboost_prediction = [["2019-08-16 14:22:00.0", "ls5923_splunk", "False"]]

with open('outputfile.csv', 'a+') as f:
    # Incase you are appending multiple predictions
    for entry in xgboost_prediction:
        f.write(','.join(entry))
    f.write('\n')