2016-12-05 26 views

答えて

1

は機能で追加し、次の

fileList = csvfiles.split(",") 
for files in filesList: 
    data = read_csv(csvfile) 
    .... 
    .... 


production("rswm20160901C.csv,rswm20160901E.csv,rswm20160901D.csv") 

または

import sys 
def production(csvfile) 
...... 
...... 

fileList = sys.argv[1:] # pass the functions in command line 
for f in fileList: 
    production(f) 
+0

文字列としてcsvファイルを渡しました。それらを分離されたファイルとして渡す方法はありますか? – Dheeraj

+0

これはpythonic方法でも良いプログラミングの練習でもありません。 –

+0

@Dheerajプロダクション(['rswm20160901C.csv'、 'rswm20160901C.csv'、 'rswm20160901C.csv'])または引き渡しプロダクション(sys.argv)の2つのオプションがあります。 – praveenraj

1

私たちは、状況を複雑に過剰にする必要はありません。 これは、実行する必要があります任意の数の引数を受け入れることができ

def production(csvfile) 
...... 
...... 

fileList = ['a.csv','b.csv','c.csv'] 
for f in fileList: 
    production(f) 
+0

FYI:そうは思わない何かそれについてのpythonic。ちょうど適切な機能の使用。 –

+0

私はプログラミングが初めてです。それはなぜ私のためには少し複雑です。とにかくおかげさま。 – Dheeraj

+0

問題ありません。あなたの質問を解決すると思ったら、その質問を受け入れてください。 –

0

使用のpython *args引数の開梱を。あなたはそれが正確な3入力ファイルにしたい場合は、引数

def production(*csvfile): 
    for csv in csvfile: 
     # do something with csvfile 
     print(csv) 

production("file1.csv", "file2.csv", "file3.csv") 
# code above will printout 
# file1.csv 
# file2.csv 
# file3.csv 
production("file1.csv") 
# just print out 
# file1.csv 

の任意の数の作品、あなたは3つの以下のように入力またはする任意のリストの長さのための作品はまた

def production(csvfile1, csvfile2, csvfile3): 
    for csv in [csvfile1, csvfile2, csvfile3]: 
     # do something with csvfile 
     print(csv) 
1個のリスト入力を定義することができますいずれか
関連する問題