我现在想把一份csv数据文件导入DolphinDB分区数据库中,用记事本格式打开,内容如下:
我首先用ploadText()函数加载到内存中,验证DolphinDB是不是能识别原始数据中的格式,执行如下语句:
filePath ="F:/Data/test.csv"
t=ploadText(filePath)
返回结果如下:
发现有两个问题:
1.中文列名时间乱码
2.时间中的一些数据由于格式问题没有导入
这些格式有问题的数据如下:
表示小时的数据没有补全。
应该如何解决上述的问题?
我现在想把一份csv数据文件导入DolphinDB分区数据库中,用记事本格式打开,内容如下:
我首先用ploadText()函数加载到内存中,验证DolphinDB是不是能识别原始数据中的格式,执行如下语句:
filePath ="F:/Data/test.csv"
t=ploadText(filePath)
返回结果如下:
发现有两个问题:
1.中文列名时间乱码
2.时间中的一些数据由于格式问题没有导入
这些格式有问题的数据如下:
表示小时的数据没有补全。
应该如何解决上述的问题?
2 回答1.1k 阅读✓ 已解决
1 回答2.2k 阅读
1 回答915 阅读
964 阅读
1 回答618 阅读
1.由于DolphinDB的字符串采用UTF-8编码,若加载的文件不是UTF-8编码,需在导入后进行转化。DolphinDB提供了
convertEncode
、fromUTF8
和toUTF8
函数,用于导入数据后对字符串编码进行转换。例如,使用
convertEncode
函数转换表tmpTB中的exchange列的编码:2.对于日期列或时间列的数据,如果自动识别的数据类型不符合预期,不仅需要在schema的type列指定数据类型,还需要在format列中指定格式(用字符串表示),如"MM/dd/yyyy"。如何表示日期和时间格式请参考日期和时间的调整及格式。
上述的实际场景可以这么转换:
所以,上述的csv数据文件用ploadText或loadText函数导入内存表可以使用以下代码实现:
上述的csv数据文件用loadTextEx函数导入数据库表可以使用以下代码实现: