【问题标题】:Importing txt files with Unknown Delimiter导入带有未知分隔符的 txt 文件
【发布时间】:2010-06-24 18:24:53
【问题描述】:

我想用 PHP 将非常干净的 .txt 文件导入 Mysql。我读过,如果您知道分隔符,这很容易。但我没有。

在我的例子中,.txt 文件看起来像表格 - 即:它们的结构仍然像表格,而不像标准的、混乱的 CSV 文件。

这是否意味着我没有分隔文件?如果是这样,关于我如何处理导入的任何建议?

【问题讨论】:

  • 您能举例说明“结构化表格”的含义吗?如果您不知道您的文件是如何格式化的,那么尝试解析它几乎是不可能的,而且是不可靠的。
  • 怀疑它可能意味着固定宽度的字段
  • 是的,有问题的文件中的几行将有助于获得有用的答案。
  • 大家好——我在下面添加了一个文件外观的屏幕——我很想听听你如何处理它。谢谢!

标签: php mysql import


【解决方案1】:

有时分隔符是列号,而不是字符。

即每个数据列都从指定的物理字符列开始。每列都是固定宽度,解析就像在这些字符宽度边界上拆分字符串一样简单,如果需要,还可以修剪空白。

【讨论】:

  • 分隔和固定宽度的文件不一样。固定宽度文件往往由一个定义文件补充,该文件告诉哪些列去哪里。列通常左对齐或右对齐,并且通常用空白填充,尽管有时用零填充。分隔文件是使用特殊字符表示列结尾的文件。
  • 啊..对不起,重新阅读问题,听起来他在谈论固定宽度格式。
【解决方案2】:

对此感到抱歉。一个例子显然会有所帮助。

这是一个关于它的外观的想法 - 即:它已经看起来像一张桌子。

https://gist.github.com/9753ad04b0fab256e452

【讨论】:

  • 为了将来参考,您应该通过编辑您的问题来添加更正和澄清,而不是将它们作为解决方案发布。
猜你喜欢
  • 2014-06-12
  • 1970-01-01
  • 2021-05-15
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多