2016-05-27 6 views
0

システムプロセスに関連する2つのcsvファイルをマージしています。しかし、私はヘッダーに似たような変更を加えたいです。 csvファイルの 例は、私が( 'Pythonの例のプロセスを):使用していMerged CSVファイルの変更が保存されない

Date,  Process(python)\% Processor Time, Process(python)\Thread Count, Process(python)\Working Set 
xx/xx/xx xxxx         xxxx       xxxx 
xx/xx/xx xxxx         xxxx       xxxx 
xx/xx/xx xxxx         xxxx       xxxx 
xx/xx/xx xxxx         xxxx       xxxx 
xx/xx/xx xxxx         xxxx       xxxx 

私は、文字列の不要な'Process(python)\'一部を除去した文字列を切り捨てするスクリプトを持っています。 printステートメントを使用して、目的の文字列が画面に印刷されていることを確認できます。

% Processor Time 
Thread Count 
Working Set 

ただし、この新しいマージファイルを保存すると、これらの変更は保存されません。どのように不要なものを削除するために行った変更を保証するには'Process(python)\'が出力ファイルに保存されていますか?

マイコード:

def merge_process_csv(path,processes): 
    for process_name in processes: 
     a = pd.read_csv(path+process_name+"_data_1.csv") 
     b = pd.read_csv(path+process_name+"_data_2.csv") 
     b = b.dropna(axis=1) 
     merged = a.merge(b, on='Date') 

     csvReader = csv.reader(merged) 
     for row in csvReader: 
      #Changes 'Process(python)\% Processor Time' into '% Processor Time' 
      row = truncate_string(row[0],"\\",1) 
      print row 

     merged.to_csv(path+process_name+".csv", index=False) 

答えて

0

あなたはcsvReaderに変更を加えているではなくmergedへ。すべてはあなたがヘッダ行を調整したいと思う場合は、置き換えることができます。

csvReader = csv.reader(merged) 
for row in csvReader: 
    #Changes 'Process(python)\% Processor Time' into '% Processor Time' 
    row = truncate_string(row[0],"\\",1) 
    print row 

merged.columns = [col[-1] for col in merged.columns.str.split('\\')] 
+0

であなたの助けをありがとう、私は 'df'をどうするとして定義していますか? – Catherine

+0

私の悪いです。それは「合併」するべきです。私は私の答えを編集しました。 –

関連する問題