Pandas 使用def函数将多个csv文件作为单独的变量导入

Pandas 使用def函数将多个csv文件作为单独的变量导入,pandas,csv,import,merge,filepath,Pandas,Csv,Import,Merge,Filepath,我正在尝试导入几个csv文件,这些文件都在同一个文件夹中,并根据调用def函数的方式将它们存储为单独的变量。在这种情况下,股票代码 以前我有过这样的经历: #MSCI World urth = pd.read_csv (r'.\CSV Files\urth.csv') urth.set_index('Date', inplace=True) #MSCI Emerging Markets eem = pd.read_csv (r'.\CSV Files\eem.csv') eem.set_in

我正在尝试导入几个csv文件,这些文件都在同一个文件夹中,并根据调用def函数的方式将它们存储为单独的变量。在这种情况下,股票代码

以前我有过这样的经历:

#MSCI World
urth = pd.read_csv (r'.\CSV Files\urth.csv') 
urth.set_index('Date', inplace=True)

#MSCI Emerging Markets
eem = pd.read_csv (r'.\CSV Files\eem.csv')
eem.set_index('Date', inplace=True)

#International Corporate Bond
picb = pd.read_csv (r'.\CSV Files\picb.csv')
picb.set_index('Date', inplace=True)

#and so on.
我正在努力使代码更加枯燥。我目前的做法是:

import pandas as pd

def readfile(ticker):
    data_folder="(r'./CSV Files/"
    file=data_folder + "{}.csv')".format(ticker)
    #return file yields: "(r'./CSV Files/urth.csv')"
    df=pd.read_csv {}.format(file)
    return df
    
readfile('urth')
我得到以下回溯:

  File "<ipython-input-111-c85ffca58d7f>", line 6
    df=pd.read_csv {}.format(file)
                   ^
SyntaxError: invalid syntax
文件“”,第6行
df=pd.read_csv{}.format(文件)
^
SyntaxError:无效语法
似乎我需要找到一种方法来去掉file变量中的“”,这样代码就可以像我上面演示的手动步骤那样被删除


有人有主意吗?非常感谢

函数应如下所示:

import pandas as pd

def readfile(ticker):
    data_folder="./CSV Files/"
    file=data_folder + "{}.csv".format(ticker)
    #return file yields: "(r'./CSV Files/urth.csv')"
    df=pd.read_csv(file)
    return df
    
readfile('urth')

pd.read\u csv
的语法不正确,它缺少
()

不应该是
df=pd.read\u csv(文件)
?你好,Bruno,非常感谢您的帮助和花时间!不幸的是,我仍然遇到了回溯:AttributeError:“dict”对象没有属性“format”对不起!刚刚编辑了代码@meinerstHi Bruno,感谢您迄今为止的帮助。我看你这次把支架重新定位了。不幸的是,它仍然返回一个跟踪:FileNotFoundError:[Errno 2]没有这样的文件或目录:“r”。/CSV Files/urth.CSV”,即使我在同一目录的“CSV Files”文件夹中有该CSV。我之所以知道这一点,是因为我以前的手册版本比较长。我找到了一个解决直接从web导入数据问题的方法。所以不要觉得有压力去帮助别人!另外,抱歉,由于积分有限,我无法更新您的答案…@meinerst我认为问题在于数据文件夹字符串中有一个
r
。也许现在试试。。。