2016-11-24 4 views
0

「Computer Love、Kraftwerk、Computer World \ n」、「Paranoid Android」のスタイルで読み込まれたトラック、アーティスト、アルバムを含むファイルを開くコードを書きました。私はそれらを整理し、次のようにトラック情報のリストを作成する必要があり開かれたCSVファイルからinfortmationをソートする方法

TRACK ARTIST ALBUM 
Paranoid Android Radiohead OK Computer 

ここ

(例えば)私がこれまでに思い付いたコードです:

def display_playlist(filename): 
    lines = [] 
    for line in f: 
     lines.append(line) 
    return lines 

with open('geek-music.csv', 'r') as f: 
    contents = display_playlist(f) 
print(contents) 

は、どうすれば整理できますか

+1

これをチェック:https://wiki.python.org/moin/HowTo/Sorting – danielarend

答えて

0

これにアプローチできる方法の1つは、パンダのデータフレームを使用することです。いくつかのサンプルコードは次のようになります:

ヘッダがないと仮定して、データをpandasに読み込みます。

import pandas as pd 

df = pd.read_csv('geek-music.csv', header=None, names=['track','artist','album']) 

今、あなたはあなたが必要なトラックでソートし、sort_valuesを使用して(たとえばをソートするために操作できるデータフレームの表現を持つ:

sorted_df = df.sort_values('track', ascending=True) 

私はあなたの最終目標は、ここにあるかを正確にはわかりません - 画面上でこれを印刷するか、ファイルに書き込むために、あなたがスペースで区切られた変数を使用してファイルに書きたい場合は、行うことができます:

sorted_df.to_csv('output', sep=" ") 

あなたは宇宙SEPAで画面上に印刷したい場合は?おそらくあなたはiterrowsを使うことができます。

for row in sorted_df.iterrows(): 
    print "{} {} {}".format(row['track'], row['artist'], row['album']) 

注:テストされていないコードには、構文エラーが含まれることがあります。

関連する問題