当前位置: 首页 > 知识库问答 >
问题:

将列表的字符串表示形式转换为带引号和双引号的列表[重复]

桂高昂
2023-03-14

虽然我提到了很多源代码,比如如何将列表的字符串表示形式转换为列表?但我无法解决下面的问题。

我的列表看起来像下面,我把这个列表作为列添加到数据帧中,并保存了数据帧。

ls = [['abc'],['a"bcd"e', "ab'cde'"]]
df['list_col'] = ls
df.to_csv('path')

之后,我打开了dfdataframe,并通过下面的代码确认列表已更改为列表的字符串表示形式。

type(df.list_col[0]) # str

因此,我尝试使用下面的代码对列表进行字符串表示。

import ast
df.list_col = [ast.literal_eval(ls) for ls in df.list_col]
# SyntaxError: EOL while scanning string literal

我能解决这个问题吗?

共有2个答案

禄和宜
2023-03-14

这是你想要的吗?

>>> ls = [['abc'],['a"bcd"e', "ab'cde'"]]
>>> l = [i for a in ls for i in a]
['abc','a"bcd"e', "ab'cde'"]
上官霄
2023-03-14
  • 读取文件时,使用pandas.read_csv转换器参数。
import pandas as pd
from ast import literal_eval

# test dataframe
ls = [['abc'],['a"bcd"e', "ab'cde'"]]
df = pd.DataFrame({'test': ls})

# save to csv
df.to_csv('test2.csv', index=False)

# read file in with converters
df2 = pd.read_csv('test2.csv', converters={'test': literal_eval})

print(type(df2.iloc[0, 0]))
[out]: list
 类似资料:
  • 问题内容: 最简单的方法是将类似以下的列表转换为: 即使用户在逗号之间加空格,也要在引号内加空格。我还需要处理以下内容: 在Python中。 我可以使用并使用split运算符删除空格,并检查非字母。但是代码变得非常混乱。有快点 方法吗? 问题答案: 使用,你可以安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字典

  • 问题内容: 因此,我正在编写一个程序,将文本文件分解为单词,然后将列表写入新的文本文件。 我遇到的问题是我需要列表中的字符串使用双引号而不是单引号。 例如 我得到这个当我想这个 这是我的代码 我是python的新手,对此一无所获。有人知道如何解决吗? [编辑:我忘了提及我在arduino项目中使用的输出,该项目要求列表具有双引号。 问题答案: 您无法更改的工作方式。 如何使用用于字符串的JSON格

  • 我面临一个挑战,要以以下格式匹配输入: 输入由key=value对组成。关键字以斜杠开头。值可以是数字或引号中的字符串。 该值可以选择性地包含转义引号,即引号后面跟着引号(“”)。这种转义引号应该被视为价值的一部分。不需要检查转义引号是否平衡(例如,由另一个转义引号结束)。 正则表达式应该匹配序列中给定的key=value部分,并且对于长输入(例如value是10000个字符)不应该中断。

  • 这是我之前问题的后续。我意识到我需要更具体地说明我的regex案例,以获得适用于我的案例的答案。 我已经与这个正则表达式斗争了很长一段时间(也使用我上一个问题的答案),我似乎无法构建我需要的东西。 我需要将所有字符串中出现的两个重复出现的单引号替换为(因此字符串内部意味着单引号)。这是因为在一种语言(语法)中,字符串中的引号使用<code>‘转义。 这里有一个例子(实际的例子可以包含用< code

  • 我有一个应用程序收到一个格式错误的JSON字符串,如下所示: null 也可能是格式错误的JSON字符串: 在本例中,不应替换消息值中的单引号。

  • 我正在编写一个正则表达式来解析包含标记字段的行。标签出现在等号之前,内容出现在等号之后,用单引号或双引号括起来。对于大多数字段,内容都用单引号括起来。如果字段的内容包含单引号,则该字段用双引号括起来。例如: 我的正则表达式有效,除非字段用双引号括起来。 在Debuggex中测试 在Regexr中测试 对于上面示例中标记为a的字段,a=“'D08/APPL'”,a由捕获组1匹配,后面的单引号由捕获组