2010-06-24 5 views
0

Я хочу импортировать действительно чистые .txt-файлы в Mysql с PHP. Я читал, что это легко, если вы знаете разделитель. но я этого не делаю.Импорт файлов txt с Неизвестным разделителем

В моем случае файлы .txt выглядят как таблицы - т. Е. Они по-прежнему структурированы как таблицы, а не как стандартный, смешанный CSV-файл.

Означает ли это, что у меня нет файла с разделителями? Если да, то какие-либо советы о том, как я могу приблизиться к импорту?

+1

Можете ли вы привести пример того, что «структурировано как таблицы» означает? Если вы не знаете, как отформатирован файл, практически невозможно и, тем не менее, ненадежно пытаться его разобрать. – Iacopo

+2

Подозреваю, что это может означать поля фиксированной ширины –

+1

Да, несколько строк из одного из файлов, о которых идет речь, будут иметь большое значение для получения полезного ответа. – timdev

ответ

0

Иногда разделителем является номер столбца, а не символ.

I.e. каждый столбец данных начинается в указанном столбце физического символа. Каждый столбец имеет фиксированную ширину, а синтаксический анализ так же прост, как разделение строки на этих границах ширины символов и при необходимости обрезание пробелов.

+0

Файлы с разделителями и фиксированной шириной не совпадают. Файлы с фиксированной шириной, как правило, дополняются файлом определения, указывающим, куда идут столбцы. Столбцы обычно выравниваются либо влево, либо вправо и обычно заполняются пробелами, хотя иногда с нулями. Разграниченные файлы - это файлы, которые используют специальный символ для указания конца столбца. – simendsjo

+0

Ah .. Извините, перечитайте вопрос, и похоже, что он говорит о формате фиксированной ширины. – simendsjo

0

Извините. Пример, очевидно, поможет.

Вот идея того, как он выглядит - то есть: он уже выглядит как таблица.

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

+0

Для дальнейшего использования вы должны добавить исправления и разъяснения, отредактировав свой вопрос, а не отправляя их в качестве решения. – BenV