0

大きなテキスト ファイルがあり、その中のデータは 5 列ですが、その最初と最後の列だけが必要です。

ここから別のファイルにこの 2 つの列のデータを 1 つずつ入力しようとすると、何日もかかり、おそらく間違いがあります。これを行うための速い方法はありますか?例えば:

     1   1.0000000000000000         0.0000000000 S {0}
     2   1.5000000000000000         0.3010299957 C {2}
     3   1.7500000000000000         0.6020599913 S {0,2}
     4   2.0000000000000000         0.7781512504 C {3}
     5   2.3333333333333333         1.0791812460 C {3,2}
     6   2.5000000000000000         1.3802112417 S {3,0,2}
     7   2.5277777777777778         1.5563025008 S {0,3}
     8   2.5833333333333333         1.6812412374 S {3,0,0,2}
     9   2.8000000000000000         1.7781512504 C {5,2}
    10   3.0000000000000000         2.0791812460 C {5,0,2}

最初の列 (番号付け) と { } 内の最後の列が必要です。

4

8 に答える 8

8

ALT+Left Mouse Click列モード選択に入ります。あなたを助けることができる非常に便利なショートカットです。

于 2013-04-03T15:05:34.317 に答える
5

Notepad++ では、正規表現を使用して置換を行うことができます。

検索と置換の正規表現は次のとおりです。

^( +\d+).+\{([\d,]+)\}$

\1 \2

ここに画像の説明を入力

次に、次を変更できます。

 1   1.0000000000000000         0.0000000000 S {0}
 2   1.5000000000000000         0.3010299957 C {2}
 3   1.7500000000000000         0.6020599913 S {0,2}
 4   2.0000000000000000         0.7781512504 C {3}
 5   2.3333333333333333         1.0791812460 C {3,2}
 6   2.5000000000000000         1.3802112417 S {3,0,2}
 7   2.5277777777777778         1.5563025008 S {0,3}
 8   2.5833333333333333         1.6812412374 S {3,0,0,2}
 9   2.8000000000000000         1.7781512504 C {5,2}
10   3.0000000000000000         2.0791812460 C {5,0,2}

に:

     1 0
     2 2
     3 0,2
     4 3
     5 3,2
     6 3,0,2
     7 0,3
     8 3,0,0,2
     9 5,2
    10 5,0,2

ここに画像の説明を入力

先頭のスペースが必要ない場合は、次を使用します。

^( +\d+).+\{([\d,]+)\}$

\1 \2

に変わります:

1 0
2 2
3 0,2
4 3
5 3,2
6 3,0,2
7 0,3
8 3,0,0,2
9 5,2
10 5,0,2
于 2013-07-28T10:27:27.163 に答える
4

Windows プラットフォームでも使用できるawkorを使用する必要があります。gawkを使用しgawk "{print $1,$5}" inpfile > outfileます。「one」という名前のファイルをコピーしました。ファイルの 1 列目と 5 列目で構成される出力を確認できます。

>gawk "{print $1, $5}"  one
1 {0}
2 {2}
3 {0,2}
4 {3}
5 {3,2}
6 {3,0,2}
7 {0,3}
8 {3,0,0,2}
9 {5,2}
10 {5,0,2}
于 2013-07-18T06:44:26.540 に答える
1

Excel にインポートして、そこで操作できます。

于 2011-01-02T17:07:05.210 に答える
0

.NET を使用している場合、FileHelpersを使用すると時間を大幅に節約できます。あなたの投稿から、これを達成するためにどのテクノロジーを使用したいのかわかりません。

于 2011-01-02T17:08:17.987 に答える
0

Ultraedit には列を選択するためのツールがあり、大きなファイルを開くことができます (2008 年のデスクトップで 900 MB のファイルを試してみたところ、3 分で開きました)。私はそれが完全に動作するデモ版を持っていると思います. 行数が多すぎない場合は、Excel が機能する可能性があります。乾杯、

于 2011-01-02T17:08:24.307 に答える
0

もう 1 つの方法は、データを MS Word ファイルにコピーすることです。次に使用します

{Alt + マウスの左クリック}

次に、選択した列をドラッグすると、1 つの列だけが選択されていることがわかります。好きなところにコピー&ペーストしてください。

于 2020-01-30T13:56:04.467 に答える
-1

途方もない量のデータを畳み込む方法は 1 つしかありません。それはコマンドプロンプトです。

$cat text.txt | sed 's/{.*,//;s/  */ /g;s/[{}]//g' | awk '{print $1","$5}' > clean_text.csv

この 15 秒の修正は、Windows OS では利用できません。クローゼットの中にある古い死んだコンピューターに Linux をダウンロードしてインストールする方が、Excel にデータを出し入れするよりも時間がかかりません。

ハッピーコーディング!

于 2011-07-19T07:18:37.430 に答える