【发布时间】:2021-07-09 00:24:59
【问题描述】:
我正在尝试导入多个位于同一文件夹中的 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
似乎我需要找到一种方法来摆脱文件变量中的“”,以便按照我上面显示的手动步骤执行代码。
有人有想法吗?非常感谢!
【问题讨论】:
-
不应该是
df=pd.read_csv(file)?
标签: pandas csv import merge filepath