1

これが簡単な修正であることは知っていますが、答えが見つからないようです:

FTPサーバーから毎日ダウンロードされるフォルダー内のすべてのファイルを取得し、それらを別のフォルダーに結合し、ファイルの列に基づいて結合されたファイルから新しいファイルを作成するバッチファイルを作成しようとしています(これは私に迷惑をかける部分)。

例えば:

次のような形式のデータが毎日届きます。

DATE/TIME  | NodeID | Data    
04/05/2013 11:23:11   |     2     |   10    
04/05/2013 11:23:11    |    3  |      10    
04/05/2013 11:23:11    |    4   |     10    
04/05/2013 11:23:11    |    5   |     10    
04/05/2013 11:23:11     |   6    |    10    
04/05/2013 11:23:11      |  7   |     10    
04/06/2013 11:24:12     |   1    |    12    
04/06/2013 11:24:12     |   1    |    12        
04/06/2013 11:24:12    |    4   |     12        
04/06/2013 11:24:12     |   1     |   12        
04/06/2013 11:24:12     |   3   |     12        
04/06/2013 11:24:12     |   2    |    12

私が望むのは、NodeID 1 のすべての行を取得して別のファイルに入れ、NodeID 2 のすべての行を別のファイルに入れる、などです...

私はPythonの知識が非常に限られていますが、何でも喜んでこれを行います。

4

3 に答える 3

1
@ECHO OFF
SETLOCAL enabledelayedexpansion
DEL noderesult*.txt 2>nul
FOR /f "skip=1tokens=1,2*delims=|" %%i IN (logfile.txt) DO (
 SET node=%%j
 SET node=!node: =!
 >>noderesult!node!.txt ECHO(%%i^|%%j^|%%k
)

仕事をしなければなりません、生産noderesult?.txt- 注意 -DEL行は既存のものをすべて削除しますnoderesult*.txt

于 2013-05-31T15:13:38.143 に答える
0

次のことを試してください。

f_in = "path_to_your_file"
f = open(f_in,'r')

f_out = {}

for l in f:
  if l != '\n':
    row = l.split('|')
    id = int(row[1])
    if id not in f_out:
      f_out[id] = open(f_in + "_" + str(id),'w')
    f_out[id].write(l)
于 2013-05-31T15:18:06.263 に答える