問題タブ [fgetcsv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5418 参照

php - fgetcsvによるPHP未定義オフセット

さて、私はこの問題に数時間を費やしましたが、何が起こっているのかわかりません. 特に私は 24 時間以上起きていて、締め切りは 5 時間以内なので、この問題について新鮮な視点が必要だと思います。

CSV から取得したデータを使用しようとすると、オフセット (0 ~ 907) ごとに未定義のオフセット通知が表示されます。(おそらく、データを正常に取得できていないことを意味しますが、疲れ果てており、助けていただければ幸いです)

私が間違っていることを誰かが知っていますか?

CSV ファイルは標準のコンマ区切りファイルなので、そのデータをここに投稿する理由はありません。

0 投票する
1 に答える
385 参照

php - このPHPfgetcsv()がcsvの特定の部分のみを表示するのはなぜですか?

私はこのPHPを持っています:

CSVはhtmlによって提供され<input type="file">ます。現在、各行の11個の値の配列を出力する代わりに、最初の値とコンマまたは各行のみの配列を出力しています。私はそれが正しいことをするようになりましたが、どういうわけか私のコードを台無しにして、私が何をしたのか理解できません。

CSVの例を次に示します。

0 投票する
3 に答える
19874 参照

php - CSVを配列に変換する

空港コードと都市名(約3500行)を含むこの配列があります。

そのファイルをphp配列に変換する必要があります。これはこれまでの私のコードです:

fgetcsv関数の区切り文字とエンクロージャー文字を設定していますが、結果としてこれを取得しています。

0 投票する
1 に答える
1735 参照

php - 複数の非常に大きなcsvファイルを相互に比較する

n個のcsvファイルがあり、それらを相互に比較して後で変更する必要があります。問題は、各csvファイルに約800.000行あることです。

csvファイルを読むために私はfgetcsvを使用します、そしてそれはうまくいきます。いくつかのメモリパイクを取得しますが、最終的には十分に高速です。しかし、アレイを相互に比較しようとすると、時間がかかります。

もう1つの問題は、ファイルの数がnであるため、fgetcsvでcsvデータを取得するためにforeachを使用する必要があることです。最終的に1つの超大型配列になり、array_diffと比較できません。だから私はそれをネストされたforeachループと比較する必要があり、それは時間がかかります。

理解を深めるためのコードスニペット:

私のcsvクラスはfgetcsvを使用して、出力を配列に追加します。

すべてのcsvファイルのすべてのデータは$data配列に保存されます。これはおそらく、1つの配列のみを使用する最初の大きな間違いですが、foreachを使用せずにファイルを柔軟に維持する方法がわかりません。私は柔軟な変数名を使おうとしましたが、私もそこに固執しました:)

今、私はこの大きな配列を持っています。通常、値を相互に比較し、ファイル1のデータがファイル2に存在するかどうかを確認する場合は、array_diffまたはarray_intersectを使用します。しかし、この場合、私はこの1つの大きな配列しか持っていません。そして、私が言ったように、foreachを実行するには何年もかかります。

また、たった3つのファイルの後で、3*800.000エントリの配列があります。私は10ファイル後に私の記憶が爆発するだろうと思います。

では、PHPを使用してn個の非常に大きなcsvファイルを比較するためのより良い方法はありますか?

0 投票する
3 に答える
18379 参照

php - PHP fgetcsv()-列数を検索

csvファイルに含まれる列の数を特定しようとしています。

これが私のスクリプトです。最初の列のみを使用していますが、少しブラインドで実行しています。列数を制限する変数を配置したいと思います。(間違えて列を追加したり、列を見逃したりする可能性があるため)

それは私が得ていないそれらの簡単で簡単なものの1つだと確信しています。

0 投票する
1 に答える
1706 参照

php - 最初の5行を表示するPHPfgetcsv()

CSVファイルをデータベースにインポートしています。最初の5行を列で表示したいので、ファイルの内容がわかります。そこで、以下でファイルを開くための簡単なスクリプトを作成しました。列の数を数え、列の数をループしてそれぞれを作成し、その下にwhile()ループをスローして、行を表示します。もちろん、一致する列の数をループします。

ファイルからデータを正常に取得しており、正しい数の列も取得しています。ただし、最初の5つのレコードではなく、ファイルの途中のどこかからの結果が表示されます。

最初の行は、列が何と呼ばれているかを知るのに役立ちます(列名がある場合)。

スクリプトが汚れているので、どのように最適化できるのか興味があります。

0 投票する
1 に答える
179 参照

php - PHPで「問題のある」CSVを解析する方法

次のような「問題のある」CSVファイルを解析する必要があります。

もちろん、私は実際に貴重なデータを含む行(value1、value2、value3)にのみ興味があります。私はURLを文字列にフェッチして呼び出しstr_getcsv(デフォルトのパラメーター)よりも試みましたが、取得しているのは操作が難しい配列です:

0 投票する
2 に答える
8645 参照

php - csvファイルを読み取る最速の方法

csvファイルを読み取るための非常に高速な方法を探しています。私のデータ構造は次のようになります。

そして、私はfgetcsvを使用してこのデータを配列に読み込みます。

問題:パフォーマンス。スクリプトは定期的に10,000を超えるエントリを読み取る(および処理する)必要があります。

私の最初の試みは非常に簡単です:

私の2回目の試み:

  1. パフォーマンスをさらに向上させる方法はありますか、それとも私の方法は可能な限り高速ですか?
  2. おそらくもっと重要です。どの列を読み取るかを定義する方法はありますか。たとえば、タイムスタンプのみが必要な場合もあります。float列が必要です。私の方法よりも良い方法はありますか(私の2回目の試みを見てください:)

ありがとう :)

0 投票する
4 に答える
4891 参照

php - CSV から配列 PHP

CSVを連想配列に入れるためのリソースがたくさんあることは知っていますが、私のような初心者がやりたいことを正確に行うのに役立つものは何も見つかりません.

現在、PHP ファイル内に連想配列が定義されています。

その配列を CSV ファイル (users.txt) に移動したいので、次のようにします。

次のステップは、配列 $users を使用していたのとまったく同じように使用できるように、users.txt をインポートすることです。

ここで何か助けはありますか?私が試した最後のコードはこれを返しました:(これは私が望むものではありません)