excelで開き、カンマ区切りで保存します。連続する区切り文字を1つとして扱います。その後、csvとしてExcelで再保存します。これはコンマで区切られ、mysqlにインポートするのが簡単です。
EDIT: "[+]"にpreg_splitを使用すると、上記のように基本的に同じ回答が得られます。
それでは、それ以降は何をすべきかという疑問があります。
「行の種類」はいくつありますか?それを決定して特性を定義すれば、それを通過するコードを書くのがずっと簡単になります。
csvで保存すると、PHPのfgetcsv関数と関連する関数を使用できます。各行について、そのタイプをチェックし、タイプに応じて操作を実行します。
最初の列のデータに「。」が含まれているかどうかで、データ行が分割される可能性があることに気付きました。ここでは、ファイルをループする方法の例を示します。
ながら($行= fgetcsv($ file_handle)){ (strpos($行[0]、 '')===偽){ //行う他{ }何か を行う場合何か他のもの } }
"何かをする" とは、 "TABLE table_$row[0]
をCREATE" のようなものであるか、などを "table
のINSERT INTO"
[OK]を、ここでいくつかのより多くの観測だでしょう:
あなたのファイルされますr複数のファイルが一緒に接着されているのが好きです。それは複数のフォーマットを含んでいます。「4」で始まるすべての行は、4文字の会社略語に続いて完全な会社名が続きます。それらの1つは "caco"です。 "caco"を検索すると、ファイル内の複数の "テーブル"で検索されます。
また、「smuwtfa」(曜日)に振りかざすことがあります。
このような手がかりを使用して、各行の処理方法の論理を判断します。
アドバイス...まあ、そのエクスポートのデータ形式を知っている必要があります。また、アドレスは空白で区切られ、列間にタブはありません。自動的に解析する情報が不足しているようです。 – alxx
私の推測:固定幅で、最初の3文字はレコードタイプです。すべてのレコードタイプは同じフォーマットです(つまり、レコードタイプ4のすべての行に同じ2つの列があり、レコードタイプ17.1には1つの列しかありませんが、新しい「ルートブロック」を開始するようです)。 – vstm
あなたのデータをインラインに含めないためのフォームが悪い今、リンクは死んでいるので、あなたの質問を文脈化することは不可能です。または、pastebinなどを使用してください...ちょうどスティン.. – ftrotter