Previous Page: The exporting of Github Discussion data.

python Replace the Data with Yours
data=[{},{},{}] # 注意将 null 替换为 None,false 替换为 False

output=""

from datetime import datetime, timedelta, timezone

di=[]
for i in data:
    if i["parent_id"] is None:
        di.append(i["id"])

d={}

wd=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]

for i in data:
    dt_utc1 = datetime.strptime(i["created_at"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc)
    dt_beijing1 = dt_utc1.astimezone(timezone(timedelta(hours=8)))
    formatted1 = dt_beijing1.strftime("%Y 年 %m 月 %d 日 %H:%M:%S, {}".format(wd[dt_beijing1.weekday()]))
    pf=formatted1
    dt_utc2 = datetime.strptime(i["updated_at"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc)
    dt_beijing2 = dt_utc2.astimezone(timezone(timedelta(hours=8)))
    formatted2 = dt_beijing2.strftime("%Y 年 %m 月 %d 日 %H:%M:%S, {}".format(wd[dt_beijing2.weekday()]))
    uf=formatted2
    if i["parent_id"]:
        d[i["parent_id"]] = d.get(i["parent_id"], [])
        if (dt_utc2 - dt_utc1).seconds > 5:
            str="""> > {}
> >
> > P:{}
> > U:{}""".format(i["body"].replace("\r\n","\n").replace("\n","\n> > "), pf, uf)
        else:
            str="""> > {}
> >
> > P:{}""".format(i["body"].replace("\r\n","\n").replace("\n","\n> > "), pf)
        d[i["parent_id"]].append({i["id"]:str})
for i in data[::-1]:
    id = i["id"]
    content=i["body"].replace("\r\n","\n").replace("\n","\n> ")
    dt_utc1 = datetime.strptime(i["created_at"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc)
    dt_beijing1 = dt_utc1.astimezone(timezone(timedelta(hours=8)))
    formatted1 = dt_beijing1.strftime("%Y 年 %m 月 %d 日 %H:%M:%S, {}".format(wd[dt_beijing1.weekday()]))
    pubf=formatted1
    dt_utc2 = datetime.strptime(i["updated_at"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc)
    dt_beijing2 = dt_utc2.astimezone(timezone(timedelta(hours=8)))
    formatted2 = dt_beijing2.strftime("%Y 年 %m 月 %d 日 %H:%M:%S, {}".format(wd[dt_beijing2.weekday()]))
    upf=formatted2
    if i["id"] in d.keys():
        child="""
> > <br>
"""
        ii=[]
        for j in d[i["id"]]:
            ii.append(list(j.values())[0])
        child=child.join(ii)
        if (dt_utc2-dt_utc1).seconds>5:
            str = """
> {}
{}
>
> P:{}
> U:{}
""".format(content,child,pubf,upf)
        else:
            str = """
> {}
{}
>
> P:{}
""".format(content,child,pubf)
        output+=str
    else:
        if i["id"] in di:
            if (dt_utc2 - dt_utc1).seconds > 5:
                str = """
> {}
>
> P:{}
> U:{}
""".format(content,pubf,upf)
            else:
                str = """
> {}
>
> P:{}
""".format(content,pubf)
            output += str

with open("a.txt","w", encoding="utf-8") as a:
    a.write(output)
- Total words: 612 -