Pythonic方式在一个功能中读取3个csv文件?

时间:2016-12-05 08:14:07

标签: python csv pandas numpy

def production(csvfile):
    # do something with csvfile
    print csvfile

production("somecsvfile.csv")

我想传递3个csv文件文件,程序应该给它输出。目前我给了一个csv文件。

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

使用可以接受任意数量参数的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个输入文件,你可以定义3个输入,如下面的输入,或者1个列表输入也适用于任何列表长度

def production(csvfile1, csvfile2, csvfile3):
    for csv in [csvfile1, csvfile2, csvfile3]:
        # do something with csvfile
        print(csv)