ここでの問題はopen()
、文字列を渡す必要があることです。ask
は文字列を含む変数ですが、他の文字列を追加し".csv"
てファイル名にすることも必要です。python+
では文字列の連結演算子なので、 ask の内容をask+".csv"
意味し、その後に .csv が続きます。あなたが現在持っているのは、エラーをスローする変数のcsv
属性を探していることです。ask
with open(ask+".csv", "w") as file:
file.write(output)
ユーザーがすでに拡張子を入力しているかどうかを最初に確認することもできます。
ask = ask if ask.endswith(".csv") else ask+".csv"
with open(ask, "w") as file:
file.write(output)
ファイルを開くときのwith
ステートメントの使用に注意してください。より読みやすく、例外が発生した場合でもファイルが適切に閉じられるようにするため、良い方法です。
また、ここでは python三項演算子を使用して、条件に基づいて単純な変数の割り当てを行っています (既に で終わっている場合はそれ自体に ask を設定し".csv"
、それ以外の場合は連結します)。
また、これは、出力が既に CSV ファイルに適していることを前提としています。拡張子だけでは CSV にはなりません。一般的に CSV データを扱うときは、おそらくcsv モジュールをチェックアウトする必要があります。