Yanor.net/
Wiki
Blog
GitHub
Sandbox
開始行:
* ConvertFrom-Csv - CSVをパースする [#uf19177e]
** 前提 [#tcb9c562]
#shell(){{
> notepad.exe 1.csv
ID,NAME,AGE
1,太郎,15
2,花子,13
3,次郎,9
}}
- PowerShell5まではUTF-8 BOM付きで保存する
- それより新しいPowerShellならBOMなしでもよい
- 日本語を扱わないならどちらでもいい
** 基本 [#l3b10088]
#shell(){{
> gc .\1.csv | ConvertFrom-Csv
ID NAME AGE
-- ---- ---
1 太郎 15
2 花子 13
3 次郎 9
}}
** デリミターを変更する [#s5bfee3d]
#shell(){{
> gc .\2.csv | ConvertFrom-Csv -Delimiter "`t"
ID NAME AGE
-- ---- ---
1 太郎 15
2 花子 13
3 次郎 9
}}
- デリミターはデフォルトではカンマ(,)
- デリミタ―を2文字以上にしたい場合はConvertFrom-Csvではな...
** ヘッダーを指定する [#r238189b]
#shell(){{
> gc .\1.csv | select -Skip 1 | ConvertFrom-Csv -Header "...
ID Namae Nenrei
-- ----- ------
1 太郎 15
2 花子 13
3 次郎 10
> gc .\1.csv | select -Skip 1 | ConvertFrom-Csv -Header (...
1 2 3
- - -
1 太郎 15
2 花子 13
3 次郎 9
}}
- ヘッダーを指定する場合、'''select -Skip 1'''でCSVファイ...
- 文字列で指定するのが面倒な場合は'''(1..3)'''のように数...
** Where-Object (?) で絞り込む [#mbbb5d76]
#shell(){{
> gc .\1.csv | ConvertFrom-Csv | ? { $_.ID -eq "1" }
ID NAME AGE
-- ---- ---
1 太郎 15
> gc .\1.csv | ConvertFrom-Csv | ? { [int] $_.AGE -gt 10 }
ID NAME AGE
-- ---- ---
1 太郎 15
2 花子 13
}}
- 数値で比較する場合は'''[int]'''でキャストする
- ちなみに日付カラムがあるなら、'''? { [datetime] $_.DATE...
** 参考 [#h68f412a]
- ConvertFrom-Csv https://docs.microsoft.com/en-us/powers...
- 比較演算子 https://docs.microsoft.com/ja-jp/powershell/...
終了行:
* ConvertFrom-Csv - CSVをパースする [#uf19177e]
** 前提 [#tcb9c562]
#shell(){{
> notepad.exe 1.csv
ID,NAME,AGE
1,太郎,15
2,花子,13
3,次郎,9
}}
- PowerShell5まではUTF-8 BOM付きで保存する
- それより新しいPowerShellならBOMなしでもよい
- 日本語を扱わないならどちらでもいい
** 基本 [#l3b10088]
#shell(){{
> gc .\1.csv | ConvertFrom-Csv
ID NAME AGE
-- ---- ---
1 太郎 15
2 花子 13
3 次郎 9
}}
** デリミターを変更する [#s5bfee3d]
#shell(){{
> gc .\2.csv | ConvertFrom-Csv -Delimiter "`t"
ID NAME AGE
-- ---- ---
1 太郎 15
2 花子 13
3 次郎 9
}}
- デリミターはデフォルトではカンマ(,)
- デリミタ―を2文字以上にしたい場合はConvertFrom-Csvではな...
** ヘッダーを指定する [#r238189b]
#shell(){{
> gc .\1.csv | select -Skip 1 | ConvertFrom-Csv -Header "...
ID Namae Nenrei
-- ----- ------
1 太郎 15
2 花子 13
3 次郎 10
> gc .\1.csv | select -Skip 1 | ConvertFrom-Csv -Header (...
1 2 3
- - -
1 太郎 15
2 花子 13
3 次郎 9
}}
- ヘッダーを指定する場合、'''select -Skip 1'''でCSVファイ...
- 文字列で指定するのが面倒な場合は'''(1..3)'''のように数...
** Where-Object (?) で絞り込む [#mbbb5d76]
#shell(){{
> gc .\1.csv | ConvertFrom-Csv | ? { $_.ID -eq "1" }
ID NAME AGE
-- ---- ---
1 太郎 15
> gc .\1.csv | ConvertFrom-Csv | ? { [int] $_.AGE -gt 10 }
ID NAME AGE
-- ---- ---
1 太郎 15
2 花子 13
}}
- 数値で比較する場合は'''[int]'''でキャストする
- ちなみに日付カラムがあるなら、'''? { [datetime] $_.DATE...
** 参考 [#h68f412a]
- ConvertFrom-Csv https://docs.microsoft.com/en-us/powers...
- 比較演算子 https://docs.microsoft.com/ja-jp/powershell/...
ページ名: