def production(csvfile):
# do something with csvfile
print csvfile
production("somecsvfile.csv")
我想传递3个csv文件,程序应该给它输出。目前我已经给出了一个csv文件。Pythonic的方式来阅读3 csv文件?
def production(csvfile):
# do something with csvfile
print csvfile
production("somecsvfile.csv")
我想传递3个csv文件,程序应该给它输出。目前我已经给出了一个csv文件。Pythonic的方式来阅读3 csv文件?
在函数中添加以下
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)
我们并不需要的情况下过度复杂化。 这应该做到:
def production(csvfile)
......
......
fileList = ['a.csv','b.csv','c.csv']
for f in fileList:
production(f)
FYI:我不认为有任何关于它的pythonic。恰当的功能使用。 –
我是编程新手。这就是为什么这对我来说有点复杂。反正谢谢。 – Dheeraj
没问题。只要接受这个问题,如果你认为它解决了你的问题。 –
使用Python *args
拆包的说法可以接受的参数的任意数量。它将为任意数量的参数作品
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个输入文件,你可以这样定义以下或1列表输入3个输入这对于任何列表的长度也
def production(csvfile1, csvfile2, csvfile3):
for csv in [csvfile1, csvfile2, csvfile3]:
# do something with csvfile
print(csv)
将作品
您已将csv文件作为字符串传递。有没有办法将它们作为单独的文件传递? – Dheeraj
这既不是pythonic方式,也不是一个好的编程习惯。 –
@Dheeraj你有两个选择作为生产(['rswm20160901C.csv','rswm20160901C.csv','rswm20160901C.csv'])或传递参数production(sys.argv) – praveenraj