【问题标题】:How to import csv whose time data is in the format of “M-d-y h-m”?如何导入时间数据为“M-d-y h-m”格式的csv?
【发布时间】:2021-11-12 12:09:56
【问题描述】:

来自csv的样本数据如下:

datetime symbol price volume
10/1/2020 9:00 XYZ 10.68 375
10/1/2020 9:00 XYZ 10.9 66
10/1/2020 9:00 XYZ 11.42 103
10/1/2020 9:00 XYZ 12.62 280
10/1/2020 9:00 XYZ 10.73 23
10/1/2020 9:00 XYZ 11.44 299

我执行了以下行来读取数据:

schemaTB = extractTextSchema(csvFile)
update schemaTB set type="DATETIME" where name="datetime"
schemaTB[`format]=["M-d-y h:m:s",,,];
t = loadText(csvFile,,schemaTB)

但是报错:

t = loadText(csvFile, , schemaTB) => Invalid temporal format M-d-y h:m:s

【问题讨论】:

  • 您指定了M-d-y,但日期似乎采用MM/DD/YYYY 格式(或类似格式)。分隔符至少是错误的。

标签: python dolphindb


【解决方案1】:

我在这里考虑了几个选项,也许用pandas 打开它并将其解析为日期时间并上传数据框? 另一种选择是将文本处理到标准 dolphinDB(与 pandas 不同)中,请参阅此处6.3.2 Data type conversion 了解更多信息

例如:

import dolphindb as ddb
import pandas as pd
s = ddb.session()
s.connect(host, port, "admin", "123456")
t = pd.read_csv('path_to_csv_file')
t['datetime'] = pd.to_datetime(t['datetime'],infer_datetime_format=True)
s.upload({'t':t})

【讨论】:

    【解决方案2】:

    修改后的代码如下所示

    schemaTB = extractTextSchema(csvFile)
    update schemaTB set type="DATETIME" where name="datetime"
    schemaTB[`format]=["MM/dd/yyyy HH:mm",,,];
    t = loadText(csvFile,,schemaTB)
    

    更多信息,请参阅第 2 节和第 4 节 在import_csv tutorial

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 1970-01-01
      • 2022-01-20
      • 2019-01-28
      • 2016-10-15
      • 1970-01-01
      • 2021-11-26
      • 2020-03-18
      • 1970-01-01
      相关资源
      最近更新 更多