【问题标题】:How to convert string back to list using Pandas如何使用 Pandas 将字符串转换回列表
【发布时间】:2017-07-10 03:24:13
【问题描述】:

我有一个包含一些数据的 txt 文件,其中一列是这样的:

['BONGO', 'TOZZO', 'FALLO', 'PINCO']

为了加载文件,我使用了 pandas 函数to_csv

加载数据框后,看起来内容还可以,但我意识到数据框中的项目不是项目列表,而是一个字符串,其元素是列表的字符!

df['column'] 返回这样的字符串

"['BONGO', 'TOZZO', 'FALLO', 'PINCO']"

而不是这样的列表:

['BONGO', 'TOZZO', 'FALLO', 'PINCO']

因此,如果我输入 df['column'][0] 我会得到 '[' 而不是 BONGO

我应该怎么做才能将字符串转换回其原始列表格式?我应该使用to_csv 函数的任何输入吗?

【问题讨论】:

  • eval(df['column'])?
  • @JohnGalt NO!!!
  • eval 特别是当您从可能由其他来源创建的 DataFrame @JohnGalt 读取数据时很危险

标签: python string list pandas char


【解决方案1】:

您可以将ast.literal_eval 用作:

>>> import ast
>>> a = "['BONGO', 'TOZZO', 'FALLO', 'PINCO']"
>>> print ast.literal_eval(a)
>>> ['BONGO', 'TOZZO', 'FALLO', 'PINCO']

【讨论】:

    猜你喜欢
    • 2014-05-31
    • 1970-01-01
    • 2016-09-17
    • 2020-11-20
    • 2016-01-12
    • 2018-01-27
    • 2014-09-30
    • 2016-11-05
    • 1970-01-01
    相关资源
    最近更新 更多