Python读取PDF后如何去除提取文本的外层双引号?
解决Python读取PDF后去除外层双引号的问题
你现在拿到的结果是包含单个字符串元素的列表,这个字符串本身带着外层单引号,要得到目标列表可以用以下几种方法:
方法一:字符串直接处理
先取出列表里的字符串内容,再通过分割和清理得到目标列表:
# 假设self.extract是["'Casa','Perro','Gato'"] raw_content = self.extract[0] # 取出列表中的唯一字符串元素 # 去掉首尾的单引号,再按"', '"分割成单个元素,最后清理每个元素的单引号 target_list = [item.strip("'") for item in raw_content.strip("'").split("', '")] print(target_list) # 输出: ['Casa', 'Perro', 'Gato']
方法二:用ast.literal_eval解析(更推荐)
如果PDF里的内容格式符合Python字面量规则,用ast模块解析会更稳妥,还能避免手动处理字符串的麻烦:
import ast raw_content = self.extract[0] # 把字符串解析成Python元组,再转成列表 target_list = list(ast.literal_eval(raw_content)) print(target_list) # 输出: ['Casa', 'Perro', 'Gato']
这个方法比直接用eval安全,因为ast.literal_eval只会解析合法的Python字面量,不会执行恶意代码。
内容的提问来源于stack exchange,提问作者Loh Boon How
相关产品推荐
相关产品推荐

