C++でjson扱うなら picojsonよりjson11がトレンディー

商用でも使えるしdropboxの人が公開してくれてるし、C++11仕様でいけてる感じ。

sjisの日本語文字がはいったjson渡すと、ダメ文字対策しないとアウト。
もしくはコード弄ってwstring化するしかないかもね。

Shift_JISのダメ文字

2byte目が0x5c の \ になっているものはjsonのパース等でトラブルが発生する。

2byte目が0x5c のダメ文字

―	ソ	Ы	Ⅸ	噂	浬	欺	圭	構	蚕	十	申	曾	箪	貼	能	表	暴	予	禄	兔	喀	媾	彌	拿	杤	歃	濬	畚	秉	綵	臀	藹	觸	軆	鐔	饅	鷭	纊	犾	偆	砡


0x7cもだめな場合ある

2byte目が0x7c のダメ文字

-	ポ	л	榎	掛	弓	芸	鋼	旨	楯	酢	掃	竹	倒	培	怖	翻	慾	處	嘶	斈	忿	掟	桍	毫	烟	痞	窩	縹	艚	蛞	諫	轎	閖	驂	黥	僴	礰	埈	蒴

C#で文字列の数値変換でint.Parse()使うと数値意外の文字列で例外飛んじゃうの嫌ならint.TryParse()

その場しのぎで使ってその先の処理で死なないように、気を使ってね。

powershellでCSVを読み込んで必要な項目だけ出力 あと日時を日付だけの表記にするのもやっちゃうスクリプト

#ヘッダが無いファイルはヘッダも指定する
$csv = Import-Csv tosho-etf-stock-prices_2016_1305.csv -Encoding Default -Header "SC","名称","市場","業種","日時","株価","前日比","前日比(%)","前日終値","始値","高値","安値","出来高","売買代金(千円)","時価総額(百万円)","値幅下限","値幅上限"

#ヘッダあるならこちらで
$csv += Import-Csv tosho-etf-stock-prices_2017_1305.csv,tosho-etf-stock-prices_2018_1305.csv,tosho-etf-stock-prices_2019_1305.csv -Encoding Default 

#日時を日付だけに変更
foreach ($i in $csv) { $i.日時 = ([DateTime]$i.日時).ToString("yyyy/MM/dd") }

#CSVで指定列出力
$csv | Select-Object 日時,始値,高値,安値,株価,出来高|Export-Csv -path output.csv  -Encoding Default -NoTypeInformation

-Encoding Defaultをつけないとshift-jisにならない。日本のexcelはshift-jis大好きなのでつけとく。

-NoTypeInformationをつけないと
「#TYPE Selected.System.Management.Automation.PSCustomObject」なんてのがCSVに入っちゃった。