クライアントが提供するかなりのXLSファイルが830個のタブ/シートで提供されています。CSVまたはタブ区切りファイルをMySQLのマルチテーブルデータベースにマップする方法
PHPMyAdmin(MySQLは明らかに)の情報を格納するためのマルチテーブルデータベースを設計しました。これらのシートのうち約5枚が手作業でデータを設計データベースに収めています。
このXLSドキュメントをフォーマットしてデータベースの適切な場所にマップするのに役立つソフトウェアやツールがありますか?
クライアントが提供するかなりのXLSファイルが830個のタブ/シートで提供されています。CSVまたはタブ区切りファイルをMySQLのマルチテーブルデータベースにマップする方法
PHPMyAdmin(MySQLは明らかに)の情報を格納するためのマルチテーブルデータベースを設計しました。これらのシートのうち約5枚が手作業でデータを設計データベースに収めています。
このXLSドキュメントをフォーマットしてデータベースの適切な場所にマップするのに役立つソフトウェアやツールがありますか?
to this thread you can import a csv file exported from excelとphp。あなたがここにPHPを使用しているように見えるよう@noelthefish
を引用
が、これは何が必要の非常に基本的であるPHP
array fgetcsv (resource $handle [, int $length [, string $delimiter [, string $enclosure [, string $escape ]]]]) <?php $row = 1; $handle = fopen("test.csv", "r"); while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); echo "<p> $num fields in line $row: </p>\n"; $row++; for ($c=0; $c < $num; $c++) { echo $data[$c] . "\n"; } } fclose($handle); ?>
に組み込まれている機能です。あなたはもちろん、whileループの中で にデータベース更新部分を入れます。 ECHO ステートメントも同様に取り出してください。デバッグしない限り、基本的には の小さなコードで、この小さなコードが必要な作業を行います。あなたはより多くの情報が必要 場合uk.php.net
をチェックアウトするにはAccessにスプレッドシートからデータをインポートし、あなたが好きなテーブル/列にフィールドをマップすることが可能です。また、ODBCコネクタを使用してMySQL DBへのアクセスを接続することもできます(using Access as a front-end to MySQL)。
また、toomanyairmilesが示唆しているように、単にあなたのMySQL DBが必要とするフォーマットにCSVデータをマッサージするためのPHPコードを書くことができます。これは、異種のソースから販売/ロイヤリティ追跡システムに販売データをインポートする必要があるときに私が過去に行ったことです。頻繁にインポートする必要がある場合は、個々のシートを1つのディレクトリにCSV形式でエクスポートするシステムを自動化することをお勧めします(もっと便利な場合は、それらをまとめてzipファイルをPHPアプリケーション。
はMySQLに一括インポートをやっている場合、あなたは、一般的にthe fastest way to import data into MySQL —それはあなたがデータをマッサージした後、ディスクに新しいCSVファイルを書き込むために、実際に高速です地点にある、LOAD DATA INFILE
を使用して検討する必要がありますINSERT
バルクを直接実行するのではなく、LOAD DATA INFILE
を使用してください。私のイントラネットでこれを行うと、実際に挿入時間が3秒以上に短縮されました(これはすでに3分の間に改善されており、何千という個別の操作を行っていました)。