php - 解析一个非常繁忙的空格分隔文件

标签 php mysql import export csv

我正在努力帮助我父亲——他在他的工作中给了我一个日程安排应用程序的导出。我们正在尝试查看是否可以将其导入 mysql 数据库,以便他/同事可以在线协作。

我已经尝试了很多不同的方法,但似乎没有一个能奏效——这不是我的专长领域。

导出可以在这里看到:http://roikingon.com/export.txt

任何关于如何解析这个的帮助/建议将不胜感激!

谢谢!!

最佳答案

我已经尝试编写一个(有点动态的)固定列解析器。看看:http://codepad.org/oAiKD0e7 (对于 SO 来说太长了,但它主要只是“数据”)。

我注意到了什么

  • Text-Data 左对齐,右对齐,如 "hello___" (_ = space)
  • 数值数据右对齐,左边填充 "___42"

如果你想使用我的代码,还有一些事情要做:

  • 记录类型 12.x 具有可变列数(在一些静态列之后),您必须为其实现另一个“处理程序”
  • 我的一些宽度很可能是错误的。我认为有一个系统(比如数字是 4 个字符长,文本是 8 个字符长,对于特殊情况有一些变化)。具有领域知识和多个示例文件的人可以找出这些列。
  • 获取原始数据只是第一步,您必须将原始数据映射到一些有用的模型并将该模型写入数据库。

关于php - 解析一个非常繁忙的空格分隔文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8664277/

相关文章:

Python为导入模块中的属性分配本地值

python - 相对导入适用于 from 但导入失败

php - SQL 查询无法正常运行,完美的查询没有输出

php - 选择 Symfony 表单 View 中的所有复选框

javascript - 基于分层(父子)数据的数据驱动面包屑

php - 无法从 PDO 数组获取值

MySQL 使用匹配的 header 加载数据文件

MySQL COUNT - 返回零结果,而不是 NULL

postgresql - PG COPY错误: invalid input syntax for integer

php - 高级MySQL : Display only items that have not been updated in 30 days