python代码如下:
import efinance as ef
import time
from datetime import datetime
import csv
freq = 1
def process_row(row):
# 在这里处理每一行数据
print('股票:'+ row[0],'日期:'+ row[2],'现价:'+ row[3],'最高:'+ row[5],'最低:'+ row[6],'成交量:'+ row[7],'成交额:'+ row[8])
def read_csv_and_process(csv_file):
with open(csv_file, newline='',encoding='utf-8') as csvfile:
reader = csv.reader(csvfile)
all_rows = list(reader)
last_row = all_rows[-1]
process_row(last_row)
while 1:
with open('datainfo.txt', newline='', encoding='utf-8') as f:
lines = f.readlines()
for i in lines:
i = i.strip().split()
stock_code= i[1]
# print(stock_code[1])
status = {stock_code: 0}
df = ef.stock.get_quote_history(stock_code, klt=freq)
# 现在的时间
now = str(datetime.today()).split('.')[0]
# 将数据存储到 csv 文件中
df.to_csv(f'{stock_code}.csv', encoding='utf-8-sig', index=None)
print(f'已在 {now}, 将股票: {stock_code} 的行情数据存储到文件: {stock_code}.csv 中!')
if len(df) == status[stock_code]:
print(f'{stock_code} 已收盘')
break
status[stock_code] = len(df)
read_csv_and_process(stock_code + '.csv')
print('暂停 60 秒')
time.sleep(60)
print('-' * 10)
print('全部股票已收盘')
效果如下:
C:\Users\admin\PycharmProjects\pythonProject\venv\Scripts\python.exe C:\Users\admin\PycharmProjects\pythonProject\多只股票.py
已在 2024-06-07 14:49:35, 将股票: 000561 的行情数据存储到文件: 000561.csv 中!
股票:XXX电子 日期:2024-06-07 14:50 现价:6.71 最高:6.71 最低:6.71 成交量:43 成交额:28833.0
已在 2024-06-07 14:49:35, 将股票: 002429 的行情数据存储到文件: 002429.csv 中!
股票:XXX股份 日期:2024-06-07 14:50 现价:4.97 最高:4.98 最低:4.97 成交量:851 成交额:423199.0
暂停 60 秒
----------
已在 2024-06-07 14:50:36, 将股票: 000561 的行情数据存储到文件: 000561.csv 中!
股票:XXX电子 日期:2024-06-07 14:51 现价:6.7 最高:6.71 最低:6.7 成交量:40 成交额:26809.0
已在 2024-06-07 14:50:36, 将股票: 002429 的行情数据存储到文件: 002429.csv 中!
股票:XXX股份 日期:2024-06-07 14:51 现价:4.98 最高:4.98 最低:4.97 成交量:88 成交额:43750.0
暂停 60 秒
----------
----------
标签:row,07,多只,python,code,14,股票价格,csv,stock
From: https://blog.csdn.net/weixin_40718055/article/details/139526892