Python Pandas timestamp对象给出strftime()错误

Python Pandas timestamp对象给出strftime()错误,python,pandas,datetime,formatting,timestamp,Python,Pandas,Datetime,Formatting,Timestamp,我的csv文件中有如下数据: med_intake_time,dose,medicine 09:00,1 pill,aspirin 15:00,2 pills,paracetamol 20:00,1 poll,prozac 我可以在不显示错误消息的情况下运行以下行: df = pd.read_csv('file/path/data.csv') df.med_intake_time = pd.to_datetime(df.med_intake_time) for idx, row in df.i

我的csv文件中有如下数据:

med_intake_time,dose,medicine
09:00,1 pill,aspirin
15:00,2 pills,paracetamol
20:00,1 poll,prozac
我可以在不显示错误消息的情况下运行以下行:

df = pd.read_csv('file/path/data.csv')
df.med_intake_time = pd.to_datetime(df.med_intake_time)
for idx, row in df.iterrows():
    print(row.med_intake_time.strftime("%H:%M"))
这会按预期打印时间。但是如果我运行下面的行

merged =  ', '.join(f"{row.med_intake_time.strftime("%H:%M")} {row.dose} {row.medicine}" for idx, row in df.iterrows()) 

我收到错误消息
SyntaxError:invalid syntax
。如果我从有问题的行
.strftime(“%H:%M”)
中删除,代码将被执行。我不明白为什么执行once
.strftime(“%H:%M”)
时不会出现问题,也不明白为什么一旦抛出错误。你知道为什么吗?你有解决办法吗?Tnx

问题出在格式化字符串中:

f"{row.med_intake_time.strftime("%H:%M")} {row.dose} {row.medicine}"
strftime()
的调用中的引号正在转义字符串,因此不确定如何处理它。Python将其解读为一系列表达式:

f“{row.med_摄入时间.strftime(
+
%H:%M
+
”)}{row.dose}{row.medicine}”

尝试将
strftime()
中的双引号更改为单引号,以便它们不会提前结束字符串:

f"{row.med_intake_time.strftime('%H:%M')} {row.dose} {row.medicine}"

@DavidErickson不,我已经试过了,但不幸的是它也不起作用,同样的错误。其他想法?Uff,谢谢!我完全没有注意到内部双引号会与外部双引号冲突。PS:我很感激成为第一个接受你正确答案的人