原有逻辑实现
原有代码:import akshare as ak
import pandas as pd
import time
import sys
from datetime import datetime
import os
def update_stock_details ( output_folder, symbol) :
output_file = os. path. join( output_folder, f'stock_details_ {
symbol} .csv' )
try :
existing_data = pd. read_csv( output_file)
except FileNotFoundError:
existing_data = pd. DataFrame( )
while True :
try :
stock_intraday_em_df = ak. stock_intraday_em( symbol= symbol)
stock_intraday_em_df. replace( {
'买盘' : 1 , '中性盘' : 0 , '卖盘' : - 1 } , inplace= True )
if not stock_intraday_em_df. equals( existing_data) :
new_big_count_data = stock_intraday_em_df[ stock_intraday_em_df[ '手数' ] > 1000 ]
new_big_count_data = new_big_count_data[ ~ new_big_count_data. index. isin( existing_data. index) ]
if not new_big_count_data. empty:
print ( new_big_count_data)
existing_data = pd. concat( [ existing_data, new_big_count_data] )
stock_intraday_em_df. to_csv( output_file, index= False , encoding= "utf-8" )
else :
print ( "数据未变化,不更新文件。" )
time. sleep( 6 )
except :
print ( f"Failed to fetch data for {
symbol} . Retrying in 5 seconds..." )
time. sleep( 10 )