如何用Python将特殊格式CSV文件转换为嵌套列表?
解决非标准CSV转嵌套列表的问题
你的CSV文件内容并非标准CSV格式,而是Python嵌套列表的字符串形式,这也是原代码失败的核心原因——csv.reader会按逗号拆分所有内容,直接破坏了原有的列表结构。
解决方案:直接解析Python格式字符串
用ast.literal_eval可以安全地把这种字符串直接转换成Python嵌套列表,步骤如下:
- 读取文件完整内容
- 移除末尾的省略号(如果文件存在该标记)
- 解析字符串为目标嵌套列表
代码实现:
import ast # 读取文件内容 with open('/content/drive/MyDrive/tokens.csv', 'r', encoding='utf-8') as f: raw_content = f.read().strip() # 处理末尾的省略号(如果你的文件最后有",...") clean_content = raw_content.rstrip(',...') # 解析成目标嵌套列表 list1 = ast.literal_eval(clean_content) print(list1)
原代码问题说明
原代码用csv.reader处理非标准CSV,会把每个逗号都当作列分隔符,导致['juridiction', 'audience', 'novembre']被拆分成["['juridiction'"]、[" 'audience'"]这类错误片段,完全偏离了预期。而ast.literal_eval能识别合法的Python表达式,完美匹配你文件的格式。
内容的提问来源于stack exchange,提问作者hadj
相关产品推荐
相关产品推荐

