実現したいこと
CSVファイルをPansasで読み込んだ、際に列contentがネストされたJSON形式になるため、
やりたいことに記載のように列として認識して扱えるように変換したい。
その際、Python,Pandasのコードで処理をしたい。
また、列contentは順不同で列候補が入っているため、そこも柔軟に対応したい。
(追記)
カラムは数十列存在しております。下記のようにファイルごとに列は順不同で過不足もあります。
なお、規則性はありません。
ファイル①の列content:列1,列2,列3,列4,列5,列6,列7,列8,列9,列10,列11,列12,列13,列14,......
ファイル②の列content:列1,列3,列4,列6,列7,列8,列9,列10,列11,列12,列13,列14,......
ファイル③の列content:列3,列2,列7,列1,列4,列13,列10,列5,列6,列8,列14,列9,列11,列12,
JSON
1{"列1": {"列2": "a","列3":"aa"},"列4":"AA","列5":"AA","列6":"AA","列7":"AA","列8":"AA","列9":"AA"...} 2{"列1": {"列2": "a","列3":"aa","列4":"aa"},"列4":"AA","列5":"AA","列7":"AA","列9":"AA"...}
しかし、ファイルごとに正しく列を持つ形に整形するだけで、マージの際に列の並び、過不足は解決できると思っております。
- CSVファイルを読み込んだ時
index | title | content |
---|---|---|
1 | aaa | {"COL1": {"col1": "a","col2":"aa"},COL2":"AA",COL3":"AA"} |
2 | bbb | {"COL1": {"col1": "b","col2":"bb"},COL2":"B",COL3":"BB"} |
3 | ccc | {"COL1": {"col2": "cc","col1":"c"},COL2":"C",COL3":"CC"} |
4 | ddd | {"COL1": {"col2": "cc","col1":"c"},COL3":"DD",COL2":"D"} |
- やりたいこと
index | title | COL2 | col1 | col2 |
---|---|---|---|---|
1 | aaa | A | a | aa |
2 | bbb | B | b | bb |
3 | ccc | C | c | cc |
4 | ddd | D | dd | dd |
前提
- SharePointのログの解析時にログを出力するとCSVファイルを読み込んだ時のような形で格納されている。
- PythonでSharePointのログを用いた集計を行いたい。
- アウトプットのカラムは元のカラムがわかる形であれば、COL1.col1,COL1.col2などになっても問題ない
※Excelのデータ変換を行った際のカラムのイメージ
