キャッシングリターンを持つcsvファイルにフィールドがあり、電子メールと思っています。可能であれば、可能であれば異なる行ターミネーターを定義したいと思います!powershellでは、export-csvコマンドレットを使用して、標準キャリッジリターンとは対照的に、行ターミネータを定義する方法がありますか?
1
A
答えて
2
慣例として、csvフィールドの複数行フィールドは二重引用符で区切ります。( ")PowerShellはこれを行うか、あなた必要があります。今、このファイルをインポート
PS C:\> $ob = new-object PSObject |
add-member -memberType NoteProperty -name "header" -value "header1" -PassThru |
add-member -memberType NoteProperty -name "body" -value @"
Body text
with carriage returns
"@ `
-PassThru |
add-member -memberType NoteProperty -name "tail" -value "tail1" -PassThru
PS C:\> $ob
header body tail
------ ---- ----
header1 Body text... tail1
PS C:\> $ob | Export-Csv \temp\ml.csv
PS C:\> get-content \temp\ml.csv
#TYPE System.Management.Automation.PSCustomObject
"header","body","tail"
"header1","Body text
with carriage returns","tail1"
はあなたの元を与える必要があります。
PS C:\> (import-csv C:\Temp\ml.csv).body
Body text
with carriage returns
1
存在しないようです。 Reflectorでコマンドのコードを見ると、最後に\ r \ nを使用するTextWriterのWriteLineメソッドを使用して行が書き込まれます。
+0
Aww、これは残念です... csvを編集する方法や問題を回避する方法に関する提案はありますか? – Jerome
0
実際にあなたがそのような私は、カンマを使用して、行を分類し-Delimiterを使用することができます"、"行を分類する...
import-csv "C:\Path" -Delimiter ","
1
は、ここに1つのソリューションです:
function Remove-LineBreaks {
[CmdletBinding()]
param (
[Parameter(ValueFromPipeline=$true)]
[psobject]$InputObject #csv row
,
[Parameter()]
[string]$Replacement = ''
)
process {
$InputObject | %{$_ -replace "`n", $Replacement}
}
}
clear-host
$example = 1..3 | %{new-object -TypeName PSObject -Property @{
Index=$_
Name=("I'm No {0:00}" -f $_)
[email protected]"
this is some multiline text
for item index $_
blah blah blah
"@
}}
write-host 'With Line Breaks' -ForegroundColor Green
$example | convertto-csv -NoTypeInformation
write-host 'Without Line Breaks' -ForegroundColor Green
$example | convertto-csv -NoTypeInformation | Remove-LineBreaks -Replacement '; '
あなたはその後、最後に| ConvertFrom-CSV
を追加することによって除去そのパラメータラインのすべてを持っていたオブジェクトに戻って変換することができ、または出力が追加することにより、ファイルにすることができます| set-content -Path '.\filename.csv'
。
関連する問題
- 1. document.open呼び出しで開くhrefを定義する標準的な方法はありますか?
- 2. ネイティブオートコンプリートを防ぐ標準的な方法はありますか?
- 3. Powershellは標準のコマンドプロンプトと後方互換性がありますか?
- 4. CSVファイルのコンテンツを定義する標準的な方法はありますか?
- 5. 標準オブジェクトとユーザー定義オブジェクトを追加する方法は?
- 6. htmlで未定義の属性を使用するのが標準的です
- 7. doctrineオブジェクトをキャッシュする標準的な方法はありますか?
- 8. SimpleDbをバックエンドとして使用するRailsアプリ用の標準的なgem/pluginはありますか?
- 9. 一般的な参照インターフェイスを持つ標準ライブラリはありますか?
- 10. Javaには標準マシンで使用するNFC APIがありますか?
- 11. PowerShellの標準パスにスクリプトを追加する方法は?
- 12. AndroidでRPCを使用する標準的な方法は何ですか?
- 13. springまたはspringMVCに使用できるコーディング標準はありますか?
- 14. 設定ファイルでCherryPy 3.2を使用して静的ファイルを提供しているときに相対パスを使用する方法はありますか?
- 15. PowershellとPSCX Write-Zipコマンドレットを使用する際に、特定のファイルタイプを除外する方法はありますか?
- 16. perlがメモリ不足のときに動作する標準的な方法はありますか?
- 17. URLをIRCユーザーに関連付ける準標準的な方法はありますか?
- 18. Qt Designerを使用してボタンとポップアップメニューでQToolbarを定義する方法はありますか?
- 19. includeパスを設定し、gccコンパイラで標準ライブラリを使用する方法は?
- 20. フォームパラメータをドメインオブジェクトのリストにバインドするGrailsには、標準的な方法がありますか?
- 21. grailsに標準的な監査追跡方法がありますか?
- 22. #定義された用語を使用する方法はありますか?
- 23. Powershell:標準のスイッチを実装する方法は?
- 24. の区切りには、Get-ChildItemコマンドレットの出力は、PowerShellを使用して
- 25. Jenkinsのスクリプト/実行ファイルをテストする標準的な方法はありますか?
- 26. QCompleterなしでQLineEditからドロップダウンメニューを作成する標準的な方法はありますか?
- 27. SQLを動的に生成する標準的な方法はありますか?
- 28. PDF文書のデータに意味的にタグを付ける標準的な方法はありますか?
- 29. CSS標準で関数が定義されていますか?
- 30. 標準で行が選択されているときに、行キー/セル値を取得してメソッドを呼び出す方法はありますか。2.0 Gridview
サンプルファイルはありますか? – JPBlanc
最大のCSVファイルのサイズはどれくらいですか? –