python - 展平python中字符串列表的列表
问题描述
我在python中有以下列表:
ipdb> xgboost_prediction
'[["2019-08-16 14:22:00.0", "ls5923_splunk", "False"]]'
我的目标是将它附加到 csv 文件中,这将在分钟基础上发生。
现在,我想我会很容易地转换为 pandas 数据框并附加 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
请指教。
解决方案
由于您只想使用 pandas 将正常格式的值附加到 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')
推荐阅读
- angular - TypeError:无法读取 null 的属性“配置文件” TypeError:无法使用身份服务器 4 在 Angular 中读取 null 的属性“配置文件”
- laravel - 如何使用 laravel 将图像上传到数据库?
- string - 当我尝试将它的覆盖应用到一个字符串时,Bash
- reactjs - React-Native ios Lottie Animation 中未显示某些帧
- javascript - 在前端显示 RSS 提要
- node.js - 使用 Node js 将所有 .txt 文件从一个文件夹移动到另一个文件夹
- pdf - 复合 (Type0) 字体的 PDF 字形宽度
- authentication - 如何记录检查了哪些保单和索赔
- cmake - CMakelist #cmake #Cmakelist 中的变体声明
- ios - 为什么 Apple 在 iOS 13.3.1 上阻止在免费帐户上使用外部框架?