我的csv很小(120mb)。
其中一列包含一个如下所示的json字符串。
{"A":"Dart","B":"en","C":"[gb]","D":"4,5,7","E":"2019-03-07"}
我需要从一个csv解析此json,并将其转换为数据帧或另一个将包含A / B / C / D / E列和一行中对应值的csv。
我尝试使用不同的库用python和pandas解析它,但是没有运气,数据似乎总是被破坏了。
我查看了csv的原始文本视图,发现原始数据看起来像这样,而且解析器似乎由于某种原因无法咀嚼它。
"{""A"":""Dart"",""B"":""en"",""C"":""[gb]"",""D"":""4,5,7"",""E"":""2019-03-07""}"
答案 0 :(得分:0)
如果您共享一个源文件,可以为您提供帮助。
这是在CSV中加双引号的标准方法。
我要插入一个有关如何获得所需输出的示例。我正在使用Miller(http://johnkerl.org/miller/doc/)。
使用
echo '"{""A"":""Dart"",""B"":""en"",""C"":""[gb]"",""D"":""4,5,7"",""E"":""2019-03-07""}"' | \
mlr --c2n --implicit-csv-header cat | \
mlr --j2c cat
您将拥有
A,B,C,D,E
Dart,en,[gb],"4,5,7",2019-03-07