0

我有一个带有变量文件的 Python 函数。我的问题是现在,我想使用文件名。

我现在的问题是,函数内部不自动知道变量的类型。我必须将变量确定为文件有哪些简单的可能性?

   import pandas_datareader as web
   import pandas as pd
   import pickle


   def import_prices(file, start, end):
       tickers = pickle.load(file)
       main_df = pd.DataFrame()
       i = 0
       for ticker in tickers:
           df = web.DataReader(ticker, 'yahoo', start, end)
           df.rename(columns={"Adj Close": ticker}, inplace=True)
           df.drop(columns=["Open", "High", "Low",
                "Close", "Volume"], inplace=True)
           if main_df.empty:
               main_df = df
           else:
               main_df = main_df.join(df, how='outer')
           i = i + 1
           print(i)
       main_df.to_csv('Webscrapper/{}_prices.csv'.)

我要插入括号中的点后没有内容的文件名

main_df.to_csv('Webscrapper/{}_prices.csv'.)

4

1 回答 1

1

file正如我在您的代码中看到的那样,该变量应该包含一个文件名。您可以检查以下内容以确保文件包含字符串值isinstance(file, str)

您还可以使用更复杂的检查,例如isinstance(file, pd.DataFrame)

from io import IOBase

isinstance(someobj, IOBase)

最好在函数定义中使用类型提示。我认为startandend是整数,但您可以更改它以匹配正确的类型。

def import_prices(file: str, start: int, end: int) -> None
于 2021-11-14T12:38:56.537 回答