当添加数据时,文件路径有多个,该如何写格式

我这里的文件路径如果是单个文件路径是没有问题的,但在使用了symbol{[i]}后出了问题,这里的symbol是一个有四千多个股票代码的列表

这样改,将文件路径改成自己的路径,从原数据表最后一行读取日期后进行处理,经测试,能在所有表后添加原表数据中最后一天以来的所有数据。你测试一下,看是不是希望得到的结果。

import akshare as ak 
import pandas as pd 
import datetime

symbol=['sz000028','sh600800','sh600000']
for i in range(len(symbol)):
    df=pd.read_csv(f'{symbol[i]}.csv')
    newdt = pd.to_datetime(df.iloc[-1, 0])+datetime.timedelta(days=1)
    newdt=newdt.strftime('%Y%m%d')
    
    with open(f'{symbol[i]}.csv', 'a+', encoding='utf-8') as f:
        df1=ak.stock_zh_a_daily(symbol[i],adjust="qfq",start_date=newdt).reset_index()
        df2=df1[['date','open','high','low','close','volume']]
        df2=df2.astype(str)
        for i,row in df2.iterrows():
            f.write(','.join(row.tolist())+'\n')

 

read_csv()中字符串前要加f

 

文件路径动态生成,根据条件判断用那个路径。


parse_dates

指定某些列为时间类型,这个参数一般搭配下面的date_parser使用。

date_parser

是用来配合parse_dates参数的,因为有的列虽然是日期,但没办法直接转化,需要我们指定一个解析格式:

 

<strong><strong>from</strong></strong> datetime <strong><strong>import</strong></strong> datetime

pd.read_csv('girl.csv', sep="\t", parse_dates=["date"], date_parser=<strong><strong>lambda</strong></strong> x: datetime.strptime(x, "%Y年%m月%d日"))

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y