構造化テキストをcsv変換
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| 構造化テキストをcsv変換 [2023/07/29 02:27] – ファイル名修正 Minoru Kijima | 構造化テキストをcsv変換 [2023/07/29 04:43] (現在) – [PowerShellスクリプト] Minoru Kijima | ||
|---|---|---|---|
| 行 92: | 行 92: | ||
| } | Export-Csv -Path $ExportCSV -Encoding Default -NoTypeInformation | } | Export-Csv -Path $ExportCSV -Encoding Default -NoTypeInformation | ||
| Get-Item -Path $ExportCSV | Get-Item -Path $ExportCSV | ||
| + | </ | ||
| + | |||
| + | ===== Perlスクリプト ===== | ||
| + | <file .pl str2csv.pl> | ||
| + | # | ||
| + | # StructuredText形式からCSV形式に変換 | ||
| + | # | ||
| + | $line = 0; | ||
| + | while(<> | ||
| + | chomp; | ||
| + | chomp; | ||
| + | s/\s+$//; | ||
| + | # StructurTextの要素分解 | ||
| + | ($key, $val) = (split(/: | ||
| + | if ($key =~ m/ | ||
| + | # | ||
| + | if ($val =~ m/,/) { | ||
| + | $val = sprintf(" | ||
| + | } | ||
| + | # 出現位置への格納 | ||
| + | if (defined($key2Num{$key})) { | ||
| + | $csvList[$key2Num{$key}] = $val; | ||
| + | } | ||
| + | # 項目名出現順の記録 | ||
| + | else { | ||
| + | push(@keyList, | ||
| + | push(@csvList, | ||
| + | $key2Num{$key} = scalar(@keyList) - 1; | ||
| + | } | ||
| + | } | ||
| + | # 空行位置でのCSV出力 | ||
| + | elsif ($key eq '' | ||
| + | if ($line == 0) { | ||
| + | printf(" | ||
| + | } | ||
| + | if (scalar(@csvList)> | ||
| + | printf(" | ||
| + | @csvList = (); | ||
| + | $line++; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| </ | </ | ||
構造化テキストをcsv変換.1690597660.txt.gz · 最終更新: by Minoru Kijima
