ETL时遇到的坑之一

今天客户给的数据压缩包,先是在mac OSX上解压碰到乱码问题(已解决)(家中预览),然后发现一系列问题,

  • 所有的数据开始都有等号(=)
  • 部分数据结尾存在多余的逗号(,)
  • 订单表字段不统一(部分文件缺少末尾字段,这也许是和上个问题有关系)
  • 部分文件名命名错误,把订单明细命名成了订单

解决办法,使用sed批量去除头尾多余的字符(写了个简单的Windows批处理文件),并把订单和订单明细分到不同目录(原来有超过10个目录)

因为是csv,导入postgresql数据库,最早考虑的是copy命令,但尝试失败后(存在字段长度不统一的问题),决定使用R循环遍历文件来解决,先根据csv创建表(经过数据类型修改,否则存在类型不一致的报错)

数据导入完毕(忽略Order Detail的导入,这个比较顺利),接下来就是分析和建模了。

Leave a Reply

Your email address will not be published. Required fields are marked *