Python函数将新数据附加到现有csv文件中 我想添加代码,允许我更新我的股票文件,而无需重新下载所有数据,但只需将新数据附加到我现有的csv文件。提前谢谢你,抱歉我的总结

Python函数将新数据附加到现有csv文件中 我想添加代码,允许我更新我的股票文件,而无需重新下载所有数据,但只需将新数据附加到我现有的csv文件。提前谢谢你,抱歉我的总结,python,pandas,function,pandas-datareader,Python,Pandas,Function,Pandas Datareader,该功能有一个模式参数。将其设置为mode='a',您将向CSV追加数据,而不是覆盖 更新: 要检查您是否已经拥有数据,您需要将数据读入数据帧,并且只包括在数据帧中找不到的行 将熊猫作为pd导入 对于自动售检票机中的自动售检票机: df=pd.read_csv('stock_dfs/{}.csv'。格式(股票代码)) df_net_new=df[df[“Ticker”]!=Ticker] df_net_new.to_csv('stock_dfs/{}.csv'.格式(股票代码),模式为'a')

该功能有一个
模式
参数。将其设置为
mode='a'
,您将向CSV追加数据,而不是覆盖

更新: 要检查您是否已经拥有数据,您需要将数据读入数据帧,并且只包括在数据帧中找不到的行

将熊猫作为pd导入
对于自动售检票机中的自动售检票机:
df=pd.read_csv('stock_dfs/{}.csv'。格式(股票代码))
df_net_new=df[df[“Ticker”]!=Ticker]
df_net_new.to_csv('stock_dfs/{}.csv'.格式(股票代码),模式为'a')

没有更多的信息很难解决这个问题,但我希望这能有所帮助

这不是应该被引用吗?谢谢你的捕获!是的,字符串类型而不是else:print已经有了ticker,我想要一种方法来提取数据并将其添加到我现有的文件中。我试过你说的话,但我有错误。很高兴听到:)如果答案对你有帮助,请随意标出。
 def save_sp500_tickers():
     resp = requests.get('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies')
     soup = bs.BeautifulSoup(resp.text, 'lxml')
     table = soup.find('table', {'class':'wikitable sortable'})
     tickers = []
     for row in table.findAll('tr')[1:]:
         ticker = row.findAll('td')[0].text.replace('.','').strip()
         tickers.append(ticker)
     with open("sp500tickers.pickle","wb") as f:
         pickle.dump(tickers, f)

     return tickers

 #save_sp500_tickers()

 def get_data(reload_sp500=False):
     if reload_sp500:
         tickers = save_sp500_tickers()
     else:
         with open("sp500tickers.pickle","rb") as f:
             tickers = pickle.load(f)

     if not os.path.exists('stock_dfs'):
         os.makedirs('stock_dfs')
     start = dt.datetime(2019,1,1)
     end = dt.datetime(2019,8,1)

     for ticker in tickers:
         if not os.path.exists('stock_dfs/{}.csv'.format(ticker)):
             df = web.DataReader(ticker, 'yahoo', start, end)
             df.to_csv('stock_dfs/{}.csv'.format(ticker))
         else:
             print('Already have {}'.format(ticker))

 get_data()