如何摆脱 TypeError: strptime() 参数 1 must be str, not float in read_csv?

时间:2021-04-27 11:32:09

标签: python pandas

我正在尝试将 2 列(1 和 2)解析为日期时间,同时我还读取了 csv 文件的第 6 列和第 12 列。代码如下。出于某种原因,我收到以下错误:

TypeError: strptime() 参数 1 必须是 str,而不是浮点

date_parse = lambda d,t: datetime.strptime(
                                           d+t,
                                           "%d/%m/%Y%H:%M:%S"
                                           )


data_frame = pd.read_csv(
              full_path_file_name, sep=";",
              header=0,
              usecols=[1, 2, 6, 12],
              skiprows=6,
              parse_dates={'datetime': ['Date','Time']},
              date_parser=date_parse
              )

有没有人有任何建议可以摆脱这个错误?

您可以检查 dataset 谢谢

1 个答案:

答案 0 :(得分:1)

像这样改变你的代码

                                    )
def date_parse(d, t):
    dt = d+ " " +t
    return pd.to_datetime(dt)


data_frame = pd.read_csv(
              full_path_file_name, sep=";",
              header=0,
              usecols=[1, 2, 6, 12],
              skiprows=6,
              parse_dates={'datetime': ['Date','Time']},
              date_parser=date_parse
              )