2016-11-30 3 views
0

nullの値を含むcsvファイルがあります。
はこれら2つのコンマの間mysqlとpandasのロード後にcsvのどのデータがnullになるのですか

  1. ブランク3つの形式で表し、それは,,
  2. NaN両者のカンマで、それは,NaN,
  3. NA両者のカンマで、それは,NA,
あります

pandasで実験を行い、それらがNAまたはとして表されることがわかりましたdataframeで機能

それでは、どのように私はmysql表にデータをロードし、それらをnullに作ることができるread_csv()を使用した後?

+0

見てみましょうか?多分それは 'NA'を' 'ヌル 'に変換するでしょう – furas

答えて

0

私はどのようにデータをmysqlテーブルにロードしてnullにすることができますか?

LOAD DATA INFILEを使用すると、csvデータをMySQLテーブルにインポートできます。しかし、あなたのデータの変更の種類は、あなたが探しているスクリプトを使用して行うことが最適です。

スクリプトを作成して、これらの空の文字列をすべてNANNAからNULLに変更するか、csvファイルに空の文字列を置き換えて、変更したcsvファイルを使用してデータベースにインポートします。正規表現はあなたが持っているオプションです。

この場合も、使用しているOSによって異なります。あなたは、Linux上でsedを使用してのような単一のコマンドを使用していることを行うことができます

sed 's/NAN//g' myData.csv > myNewData.csv 

(OR)のWindows OSは、あなたが `DataFrame.to_sql()`を試してみましたここReplace specific text in csv via commandline

+0

非正常な値はすべてEMPTY STRINGまたはNULLに置き換えられるべきですか?私はパンダでは、3つのタイプの不正常な値がすべてNanまたはNAに変換されていることが分かります。あなたの手順に従えば、すでにcreate table stepで定義したintとvarcharフィールドは、データをロードした後にすべてnullになることがありますか? – yanachen

+0

@yanachen、はい...あなたが取り除こうとしている文字列。まずそれらを取り除いてからインポートしてください。 – Rahul

関連する問題