loadText 不能正确解析 csv 文件的中文列名字

请教大家,我感觉我的loadText 没有正确地解析 csv 文件的中文列名字,我猜测 loadtextex 会有同样的问题,请问这种问题有解决办法吗。我倒是可以用python 在明确 encoding = 'gb18030' 把文件读出来之后再写进分区数据表, 可是我之前的代码读入数据太慢, 于是我转向 采用 loadtextex 的 多Writer并行写入, 可是我发现dolphindb 的文档显示“由于 DolphinDB 的字符串采用 UTF-8 编码,加载的文件必须是 UTF-8 编码”, 这有什么好的处理办法吗?

csv样本文件如下:

 SH600000.rar

请先 登录 后评论

1 个回答

wale

1. 用extractTextSchema得到shema:

schema=extractTextSchema('SH600000.CSV')

得到schema如下:

name	type
����	SYMBOL
ʱ��	DATETIME
���̼�	DOUBLE
��߼�	DOUBLE
��ͼ�	DOUBLE
���̼�	DOUBLE
�ɽ���_��_	INT
�ɽ���_Ԫ_	INT
��Ȩϵ��	DOUBLE
2.用toUTF8或convertEncode转换编码:
schema[`name]=toUTF8(schema.name,"gbk");

得到schema如下:

name	type
代码	SYMBOL
时间	DATETIME
开盘价	DOUBLE
最高价	DOUBLE
最低价	DOUBLE
收盘价	DOUBLE
成交量_手_	INT
成交额_元_	INT
复权系数	DOUBLE
3.loadText/loadTextEx指定schma:
loadText('SH600000.CSV',,schema)

得到数据如下:

代码	时间	开盘价	最高价	最低价	收盘价	成交量_手_	成交额_元_	复权系数
SH600000	2019.01.02T09:31:00	120.1828	120.7998	120.1828	120.4296	4,174	4,072,450	12.3391
SH600000	2019.01.02T09:32:00	120.553	120.6764	120.4296	120.4296	1,494	1,459,340	12.3391
SH600000	2019.01.02T09:33:00	120.6764	120.7998	120.4296	120.6764	1,189	1,162,432	12.3391
SH600000	2019.01.02T09:34:00	120.6764	120.6764	120.0594	120.1828	4,601	4,487,235	12.3391
...

SH600000	2019.01.08T10:09:00	123.0208	123.0208	122.774	122.774	846	842,200	12.3391
SH600000	2019.01.08T10:10:00	122.774	122.8974	122.6507	122.6507	360	358,480	12.3391

请先 登录 后评论