将文本文件中的数据解析为逗号分隔值

时间:2012-08-06 07:28:41

标签: sql excel csv vbscript sybase

我在行间隔文本文件中有数千条记录,如下所示。我试图创建一个在SQL中导入的某种描述文件。无论是脚本,功能,甚至是excel,我都无法得到它。

RECORD #:  #####
NAME:  Tim
DOB:  01/01/2012    
SEX:  male 
DATE:  07/19/2012   


NOTES IN PARAGRAPH FORM


END OF RECORD
RECORD #:  #####
NAME:  Tim
DOB:  01/01/2012    
SEX:  male 
DATE:  07/19/2012   


NOTES IN PARAGRAPH FORM


END OF RECORD       

期望的输出:

RECORD #:  #####,NAME:  Tim,DOB:  01/01/2012,SEX:  male,DATE:  07/19/2012,NOTES IN PARAGRAPH FORM
RECORD #:  #####,NAME:  Tim,DOB:  01/01/2012,SEX:  male,DATE:  07/19/2012,NOTES IN PARAGRAPH FORM

1 个答案:

答案 0 :(得分:1)

计划:

  1. 使用。 ReadAll ()将输入文件加载到内存中(后备:逐行读取,“END OF RECORD”触发记录处理)
  2. 使用拆分(sAll,“END OF RECORD”)获取记录数组(字符串)。对于每个sRecord
  3. 使用拆分(sRecord,EOL, 6 )获取5个“一行字段”和1个可能包含EOL的文本/备注/备注字段
  4. 使用一个 RegExp (“\ w + \ s *#?:\ s *(。+)”)(后备:专门的RegExps)来剪切“一行字段”中的数据,从第6个开始修剪前导/尾随空格
  5. 根据需要转换字段:应该引用字符串数据,第6行中的EOL和引号应该(可能)被取消,使用标准日期格式(yyyy-mm-dd)可以避免以后出现问题
  6. WriteLine * 加入 *(aFields,sSep)到output.csv
  7. schema.ini 文件中描述output.csv的格式(选择简单/保存列名称!)
  8. 使用DBMS或ADO的导入工具将导入 .csv导入数据库
  9. 随时询问详情。