我在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
请咨询。
答案 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')