2016-06-20 21 views
-2

私は見たいファイルがいくつかありますが、変数のセットに基づいてそれぞれにラベルを付けたいと思います...python ...ファイル名として渡す変数を作成する

私は、データフレームにラベルを付けるためにそれを使用したいfile_nameに、そのようなものに基づいて

location = 'home' 
source_system = 'Sys_' 
date = '20160608' 
file_name = location+source_system+date 
print(file_name) 

-> homeSys_20160608 
... ...

file_name = sqlContext.read.parquet(file_path) 

私は他の場所で定義されFILE_PATHを持っています。

これを試してみると、データフレームの名前はhomeSys_20160608ではなく、file_pathという名前に変わりました。

私は何をしたいのですか?

基本的には、変数に基づいてデータフレームを作成する方法があるのだろうかと思っています。私は別の名前を持つ複数のデータフレームを作成したいので、私はそれらを1つのpythonノートブックで分析することができます。各データフレームは同じ構造を持ちますが、異なるデータが入力されます。

+1

これは悪い考えです。[変数名からデータを保持する](http://nedbatchelder.com/blog/201112/keep_data_out_of_your_variable_names.html)です。代わりに辞書を使用してください。 – MattDMo

答えて

0

ファイルシステムの区切り文字なしで 'location + source_system + date'に参加しています。

あなたの文字列は次のようになります。あなたはそれがこれを可能にしたいhomeSys_20160608

を、私は信じている:home/Sys_20160608

あなたが手動そうのようにものを置くことができます。

file_name = location + '/' + source_system + date 

または使用osモジュール:

file_name = location + os.path.sep + source_system + date 

をWindowsおよびLinux上で動作させるために使用します。

+2

'os.path.join'を使うこともオプションですが、IMHOはより明確になります –

+0

真ですが、2つの文字列を直接結合してから、3回目に' os.join'edする必要があります。 'filename = os.path.join(location、source_system + date)'よりも – Will

関連する問題