2017-12-11 21 views
0

私は別のCSVファイルからの情報でCSVを作成するコードを持っています。私の新しいCSVファイルでは、最高から最低までソートされた20行だけを保存したいと思いますrow ['impressions']列の並べ替えと並べ替え

私はパンダについて何か読んだことがありますが、それについては何も見つかりません!

より明確にするために、私はいくつかの画像を共有:

前: enter image description here

後: enter image description here

コード:ここで

import csv 
input_file = 'report_2017_12_11_12_31_19UTC.csv' 
output_file= "All_Data_Tags.csv" 

with open(input_file) as csvfile, open(output_file, "w") as output: 
    reader = csv.DictReader(csvfile) 
    cols = ("domain","ddomain","opportunities", "impressions", "fillRate", "DATA") 
    writer = csv.DictWriter(output, fieldnames=cols, extrasaction='ignore') 

    writer.writeheader() 
    for row in reader: 
     row['fillRate'] = '{:.2f}'.format(float(row['fillRate']) * 100) 
     if row['ddomain'] == "": 
      if row['domain'] == "": 
       row['ddomain'] = "App" 
       row['domain'] = " " 
     if row['domain'] == row['ddomain']: 
      row['domain'] = "Real Site"  
     if row['domain'] == "": 
      row['domain'] = "Detected Only" 
     if row['ddomain'] == "": 
      row['ddomain'] = "Vast Media" 
     if row['ddomain'] != row['domain']: 
      if row['ddomain'] != "Vast Media": 
       if row['domain'] != "Real Site": 
        if row['domain'] != "Detected Only": 
         if row['ddomain'] != "App": 
          row['DATA'] = "FAKE" 
         else: 
          row['DATA'] = "OK" 
        else: 
         row['DATA'] = "OK" 
       else: 
        row['DATA'] = "OK" 
      else: 
       row['DATA'] = "OK" 

     writer.writerow(row) 
+0

'row ['impressions']'を表示しようとしているコードはありません。 – pstatix

+0

please、check cols ... @pstatix –

+0

はい、 'cols'で定義しましたが、' for row in reader'では 'row ['impressions']'にアクセスしようとしません。あなたがそれを見ないと、あなたは何かを並べ替えることを期待していますか? – pstatix

答えて

0

回答です:

コード:

import pandas as pd 


movies = pd.read_csv('Top20_Media_Yesterday.csv') 

movies = movies.sort_values(['impressions'], ascending=False) 

movies = movies.to_csv("Top20_Media_Yesterday.csv") 

movies = pd.read_csv('Top20_Media_Yesterday.csv', nrows=21) 

movies = movies.to_csv("Top20_Media_Yesterday.csv") 
+0

あなたの投稿を削除するだけです – pstatix

+0

これは他の変換を実行しません... –

0

は、列名(複数可)を渡して、パンダの枠組みのDataFrame.sort_values機能を使用して、あなたは、並べ替えしたい、あなたが見つけることができるby引数とaxis 1に

を設定します類似の例here

+0

私の投稿がdownvotedされた理由について説明してもらえますか? – kingJulian

+0

"私の投稿があなたの回答はOPで使われていないツールに基づいているので実際には必要ないのですか?(nb:私はダウン・ダウン者ではありません) –

+1

パンダを意味するのですか?ソリンg /発注はパンダで行うことができますが、それを行う方法についての情報は見つかりませんでした。 – kingJulian

関連する問題