2016-12-17 10 views
1

私はPythonの初心者です。この質問はかなり基本的ですが、私はグーグルの解決策を見つけることができません。Pythonで変数を使用する際のトラブル

私はPythonで単純なスクレイピングスクリプトを書いています。私は解析のためにBeautifulSoupを使用しています。私はちょうど私のCSV書き込み関数のファイル名を設定する変数を使用して立ち往生です。 「カテゴリ」という変数があるとしますが、CSVファイルの名前としてどのように設定できますか?

category = "student" 

with open('%category.csv', 'a') as csv_file: 
    writer = csv.writer(csv_file) 
    writer.writerow([cname, caddress, ccontact]) 

答えて

1

使用format()

with open('{}.csv'.format(category), 'a') as csv_file: 

出力:

>>> category = 'my_file' 
>>> '{}.csv'.format(category) 
'my_file.csv' 
+0

ああ!ありがとうございました :) –

1

これを試してみてください:

with open(category + '.csv', 'a') as csv_file: 

あなたはそのような変数を代用しないでください。基本的な本を読む。

1

代わりにこれを試してみてください:

with open('%s.csv' % category, 'a') as csv_file: 

は、Pythonの書式文字列の詳細についてはthis informative articleを参照してください。このような

+0

偉大な、答える時間を取ってくれてありがとう:) –

1

このタスクは以下のとおりです多くの方法及びそのうちのいくつかによって達成することができます。

  1. 文字列連結。

    category = "student" 
    with open(category + '.csv', 'a') as csv_file: 
    
  2. 文字列フォーマット

    with open('%s.csv' % category, 'a') as csv_file: 
    
  3. format()機能

    with open('{}.csv'.format(category), 'a') as csv_file: 
    

を使用して、私は、これらのすべてはあなたのため正常に動作します願っています。

ベストワンは、次のとおりです。 -

category = "student.csv" 
with open(category, 'a') as csv_file: 

最後のものだけで変数の値を変更するファイルの名前を変更するための最も簡単な1、です。

関連する問題