タグ付けされた質問 「csv」

データを含むファイルは、列を区切るために、多くの場合カンマ(したがって、カンマ区切り値)でテーブルに配置されます。行は改行で区切られます(ただし、フィールドは引用符で区切られた改行を含めることができるため、すべての改行が行区切り文字であるとは限りません。このタグは、行ごとに1つのレコードを使用したり完全に引用符を外したりするのではなく、本格的なCSVデータに使用します(csv-simpleを使用)そのようなデータの場合)。


2
空のセルが見つからない場合にコンソールでTSV(csv)を表示する方法: `column -t -s $ '\ t'`
の列が含まれるファイルがありますtab。 一部の行に空のセルがある場合(開始時、中間)にファイルがあります。 そのような場合、column -t -s $'\t'単に失敗します: 入力: $ echo -e 'A\tB\tC\tD\n\tb1\t\td1\n\t\t\td2\na3\t\t\td3' > in.tsv $ hexdump -C in.tsv 00000000 41 09 42 09 43 09 44 0a 09 62 31 09 09 64 31 0a |A.B.C.D..b1..d1.| 00000010 09 09 09 64 32 0a 61 33 09 09 09 64 33 0a …

6
別のファイルで見つかった行に応じてファイルから行を削除する
ファイルfile1.txtには、次のような行が含まれています。 /api/purchase/<hash>/index.html 例えば: /api/purchase/12ab09f46/index.html ファイルfile2.csvには、次のような行が含まれています。 <hash>,timestamp,ip_address 例えば: 12ab09f46,20150812235200,22.231.113.64 a77b3ff22,20150812235959,194.66.82.11 file2.csvをフィルタリングして、file1.txtにもハッシュの値が存在するすべての行を削除します。それは言うことです: cat file1.txt | extract <hash> | sed '/<hash>/d' file2.csv またはこのようなもの。 簡単なはずですが、うまく動かないようです。 誰もがこのタスクのための作業パイプラインを提供できますか?

2
大きなCSVファイルのインデックスを再作成する
私はこの役立つスレッドで回答を調べましたが、私の問題は十分に異なっているようです(少なくともでsed)。 次のような行を含む大きなCSVファイル(200 GB以上)があります。 <alphanumerical_identifier>,<number> どこ<alphanumerical_identifier>ファイル全体にわたって一意です。最初の列をインデックスで置き換える別のファイルを作成したい、つまり <index>,<number> 私たちが得るように: 1, <number> 2, <number> 3, <number> awkメモリ内のファイル全体を読み込まなくても、増加するインデックスを生成できますか? インデックスは単調に増加するため、単にインデックスを削除する方が良い場合があります。そのための解決策はそれとは異なりますか?すなわち: <number> <number> <number>
11 files  sed  awk  csv 

3
'ps'コマンドの出力を空白なしでフォーマットする
ps実行中のすべてのプロセスの特定のプロパティといくつかのプロパティを取得する次のコマンドがあります。 ps --no-headers -exo "uname,ppid,pid,etime,%cpu,%mem,args" 解析できるように、CSV形式にしたいのですが。解析を簡単にするために、最後に引数を置いていることに注意してください。,他の列にはが存在しないと思います。間違っている場合は修正してください。 空白を削除するにはどうすればよいですか?
11 csv  ps 

5
アンダースコアをカンマで置き換え、CSVで二重引用符を削除する
私はCSVファイルを持っています input.csv "1_1_0_0_76" "1_1_0_0_77" "1_1_0_0_78" "1_1_0_0_79" "1_1_0_0_80" "1_1_0_0_81" "1_1_0_0_82" "1_1_0_0_83" "1_1_0_0_84" "1_1_0_0_85" ............. 等々。 このCSVファイルをに変換する必要があります result.csv 1,1,0,0,76 1,1,0,0,77 1,1,0,0,78 1,1,0,0,79 1,1,0,0,80 1,1,0,0,81 1,1,0,0,82 1,1,0,0,83 1,1,0,0,84 1,1,0,0,85

4
二重引用符内にあるコンマのみを削除します
テキストファイルで、,(カンマ)と"(引用符)も削除したい(二重引用符にカンマで区切られた数値が含まれている場合のみ)。 56,72,"12,34,54",x,y,"foo,a,b,bar" 期待される出力 56,72,123454,x,y,"foo,a,b,bar" 注:上記の行は例として示しています。私のテキストファイルには上記のような多くの行が含まれており、二重引用符で囲まれたカンマで区切られた数字は異なるはずです。あれは、 56,72,"12,34,54",x,y,"foo,a,b,bar" 56,92,"12,34",x,y,"foo,a,b,bar" 56,72,"12,34,54,78,76,54,67",x,y,"foo,a,b,bar" 56,72,x,y,"foo,a,b,bar","12,34,54" 56,72,x,y,"foo,a,b,bar","12,34,54","45,57,84,92","bar,foo" 予想される出力: 56,72,123454,x,y,"foo,a,b,bar" 56,92,1234,x,y,"foo,a,b,bar" 56,72,12345478765467,x,y,"foo,a,b,bar" 56,72,x,y,"foo,a,b,bar",123454 56,72,x,y,"foo,a,b,bar",123454,45578492,"bar,foo" nコンマで区切られた二重引用符内にいくつかの数字があります。また、文字を含む二重引用符はそのままにします。 sedテキスト処理ツールが大好きです。sedこの解決策を投稿していただければ幸いです。

5
コマンドの引数としてbashで区切られたテキストファイルを解析する
テキストファイルを次のように分割しています。 field1,field2,field3 xield1,xield2,xield3 dield1,dield2,dield3 gield1,gield2,gield3 これらの各列はプログラムのパラメーターになります。プログラムは各行で呼び出されます 私はループのようなものを望んでいました: for $i in file command $field2 -x $field3 -PN -$field1 >> output done このようなことをbashで達成するための最良の方法は何でしょうか?

1
awkが予期せず文字列からドットを削除する
.csvファイルに列(2番目の場所)を追加し、その列の値を文字列にして引用符で囲みます。 次のコマンドは列を追加しますが、引用符は付けません。 awk -F"," 'BEGIN { OFS = "," } {$2="2.4.0"; print}' test.csv > output.csv 次のアプローチは引用符を組み込んでいますが、何らかの理由で最後の.(ドット)を値から削除します awk -F"," 'BEGIN { OFS = "," } {$2="\""2.4.0"\""; print}' test.csv > output.csv したがって、私の値は「2.40」になります。 これについてどうすればいいですか?
9 awk  csv 

1
n番目の列にm番目の列が含まれる行を取得する方法
次のようなドメインとウェブメールを含むCSVファイルがあります。 site1.com,mail.site1.com site2.com,testmail.com site3.com,mx.site3.com site4.com,smtp.site4.com site5.com,foomail.com site6.com,barmail.com site7.com,webmail.site7.com site8.com,01mx.site8.com site9.com,foobarmail.com site10.com,mx-smtp222.site10.com 同じ行のドメイン列がwebmails列に含まれている行を取得したい。上記の例の場合、出力は次のようになります。 site1.com,mail.site1.com site3.com,mx.site3.com site4.com,smtp.site4.com site7.com,webmail.site7.com site8.com,01mx.site8.com site10.com,mx-smtp222.site10.com

7
正確な数の区切り文字を含む行のみを保持する
コンマで区切られた10個のフィールドを持つ巨大なcsvファイルがあります。残念ながら、一部の行は形式が正しくなく、正確に10個のコンマが含まれていません(ファイルをRに読み込もうとすると問題が発生します)。正確に10個のコンマを含む行のみを除外するにはどうすればよいですか?
9 csv  filter 

4
csvをHTMLテーブルに変換
Medical.csv次の形式の行を含むファイルがあります。 field: 'participation.type', displayName: 'program_type', type: 'String',path:'participation' field: 'participation.program', displayName: 'program_name', type: 'String',path:'participation' 私が書きたいbashスクリプトを持つHTMLテーブルに変換しfield、displayNameかつtype動的ヘッダーなど。 Csv2HtmlConverter.sh(で答えに触発使用してHTMLテーブルに変換するCSV形式)であります echo "<table>" ; while read INPUT ; do echo "<tr><td>${INPUT//,/</td><td>}</td></tr>" ; done < Medical.csv ; echo "</table>" 上記のスクリプトの結果は以下のようになりますが、ある程度は問題ありませんが<th>field</th>、<th>displayName</th>動的にを追加したいと思います。 <table> <tr><td>field: 'participation.type'</td><td> displayName: 'program_type'</td><td> type: 'String'</td><td>path:'participation'</td></tr> <tr><td>field: 'participation.program'</td><td> displayName: 'program_name'</td><td> type: 'String'</td><td>path:'participation'</td></tr> </table>

6
タブ区切りデータをコンマ区切りデータに変換するにはどうすればよいですか?
アマゾンのec2コマンドラインツールを介してec2スナップショットのリストをリクエストしています。 ec2-describe-snapshots -H --hide-tags > snapshots.csv データは次のようになります。 SnapshotId VolumeId StartTime OwnerId VolumeSize Description snap-00b66464 vol-b99a38d0 2012-01-05 5098939 160 my backup リダイレクトする前にデータを傍受snapshots.csvし、次のことを行うにはどうすればよいですか。 「タブ」をコンマに置き換えます 引用符で値をカプセル化する 値がすべて数値の場合は、プレフィックスとしてを付けて、=Excelでテキストとして扱われるようにします。たとえばOwnerId、"=5098939"にする必要があります(これはインラインで実行できず、代わりにスクリプトファイルまたは関数が必要な場合は必要ありません)。 望ましい出力: "SnapshotId","VolumeId","StartTime","OwnerId","VolumeSize","Description" "snap-00b66464","vol-b99a38d0","2012-01-05","=5098939","=160","my backup"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.