我有一个CSV文件,其中包含几个JSON列,我正在使用python panda阅读它。示例文件数据如下所示:
12345,67890,{"key1":"value1","key2":"value2","key3":"value3"},abcdefgh,{"key4":"value4"}
12345,67890,NONE,abcdefgh,{"key4":"value4"}
我在阅读CSV时使用,
作为分隔符,但这会导致一个问题,因为JSON数据也包含,
,最终该行无法正确分隔。pd.read_csv('s3://bucket-name/file.csv', sep=",")
我还尝试了另一个正则表达式[a-zA-Z0-9],|[}],
作为分隔符,但这会从列数据中删除最后一个字符(,
之前的1个字符)。
1条答案
按热度按时间7vux5j2d1#
如果json元素后面没有逗号,我们可以正确加载文件。
“,(?!?"\w+"(?=:))“g,按字面意义匹配索引为4410(2C 16或548)的字符(区分大小写)负向前查找(?!?"\w+"(?=:))Assert下面的Regex不匹配按字面意义匹配索引为3210(2016或408)的字符(区分大小写)?按零到一次匹配上一个标记,尽可能多地按需要返回(贪婪)“按字面意义匹配索引为3410(2216或428)的字符”(区分大小写)\w匹配任何单词字符(等效于[a-zA-Z 0 -9_])