如何将fp格式文本括号内逗号分隔内容拆分至Access数据库对应列
简便实现方法
无需借助额外付费工具,利用Access自带功能即可快速完成拆分入库,整体流程耗时不超过5分钟,具体操作如下:
步骤1:预处理原始文本
把所有fp格式的逐行内容(fp(xxx,xxx,xxx,xxx).格式)存为纯文本文件,做两次全局批量替换去除固定冗余字符:
- 将所有
fp(替换为空 - 将所有
).替换为空
处理完成后,每行都会变为无冗余的逗号分隔格式,示例效果:
638,17:57,hh,ab 638,19:47,ms,an 638,19:49,ms,ab
步骤2:提前建目标表结构
根据拆分出的字段在Access中新建目标表,列属性参考设置:
- 第一列:存储首段数值(示例中的638),设为数字类型
- 第二列:存储时间值(示例中的17:57),按需设为短文本或时间类型,方便后续排序、时段统计
- 第三列:存储第一个两字母代码(示例中的hh/ms),设为短文本类型
- 第四列:存储第二个两字母代码(示例中的ab/an),设为短文本类型
步骤3:用自带导入向导完成入库
- 在Access顶部菜单栏选择「获取外部数据-文本文件导入」,选中预处理好的纯文本文件
- 导入向导中指定分隔符号为逗号,系统会自动按逗号将每行拆为4个独立片段
- 逐段匹配对应的目标表列,确认字段类型与建表设置一致,即可完成导入
高频导入场景的优化方案
如果后续需要频繁导入同格式fp数据,可以配置一段精简VBA逻辑实现自动化:
- 将原始fp文本直接粘贴到Access临时表的长文本字段中
- 用正则规则
fp\((\d+),([\d:]+),([a-z]+),([a-z]+)\)逐行提取4个字段值 - 自动将提取值写入目标表对应列,全程无需手动做文本替换、导入操作
操作注意点
- 导入前快速筛查原始文本,把缺括号、多逗号的格式异常行提前筛出,避免导入时出现字段错位
- 涉及时间统计的场景,不要把时间值默认存为长文本类型,导入时直接匹配为对应数值/时间类型
内容的提问来源于stack exchange,提问作者Arved Friese
相关产品推荐
相关产品推荐

