2017-03-12 10 views
0

私はこの井戸をどのようにフレーズするのか本当に分かりません。Pythonで変数を出力するためにユーザーが渡した書式文字列を使用

私はPythonを使用しています。プレイリストデータを書き出すときに作成されたiTunesの奇妙なフォーマットのテキストファイルを解析するために何かを書いています。私はcsvを読むためにパンダを使い、iTunesが作った各列をループすることができます。参考のためにここにこのファイルがレイアウトされている方法の例です:

Name  Artist   Album 
Song 1 Hello World Hey how are [you] 
Text  Me Back  Please! 
Hey  Python   Is Coo-l 

私はそれらを読んで:

import pandas as pd 
colnames = [ 'Name', 'Artist', 'Album' ] 
data = pd.read_csv('myfile.csv', delim_whitespace = False, header = None, names = colnames) 

format_string = '[Name] -> [Album] ::: "[Artist]"' 

format_stringを、私は、ファイルにそれらをプリントアウトする方法です。文字列をスキャンして、すべての行をループしながら、[column_name]の列名を現在の行の値に置き換えたいと考えています。ユーザーがこの文字列を指定するようにしたいので、column_namecolnamesの列と一致する場合は、それをその形式に変換します。

上記の例では、このコードをループにformat_stringを使用すると、このテキストファイルに出てくる:Pythonの3.xでこのよう

Song 1 -> Hey how are [you] ::: "Hello World" 
Text -> Please! ::: "Me Back" 
Hey -> Is Coo-l ::: "Python" 

答えて

1

Thisまたはその他のフォーマット文字列のチュートリアルが役立ちます。

print('{0} -> {1} ::: "{2}"'.format(name, album, artist)) 

また、お客様のケース(pandas)については、このように印刷してください。

for i in range(len(data)): 
    print('{0} -> {1} ::: "{2}"'.format(data['Name'][i], data['Album'][i], data['Artist'][i])) 
関連する問題