@harubishi (haru)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

pythonでCSVファイルを読み込む前の前処理

解決したいこと

pythonでCSVファイルを読み込む前の前処理

python pandasにてCSVファイルを読み込んだのですが
各カラムに入っている内容にバラつきがあります。

5列目の「年月カラム」に文字でのコメントが入っていたり、
欲しい年月が6列目にあるデータもあれば、7列目や8列目にあるデータ行もあります。

これらを整形するにはCSVファイルを手作業で修正する必要があるのでしょうか。
それとpandasなどで整形する方法がありますか?

0 likes

2Answer

CSV(カンマ区切り値)ファイルの各行のカンマの数はすべて同じになっていますか?

0Like

Comments

  1. @harubishi

    Questioner

    カンマの数とは、各行に値が入っている列数のことであっていますでしょうか。
    その場合は各行でバラバラです。
    pandasで読み込みができなかったため、カラム名をつけて読み込みを行いました。
  2. カンマ毎にカラムに格納されていくので、目的のカラムと違う行はカンマを挿入して調整する必要があると思います。
  3. @harubishi

    Questioner

    そうなのですね…やはりかなりの手作業が必要ですね。ご回答ありがとうございます!

厄介ですね

それとpandasなどで整形する方法がありますか?

pandasは元ファイルの整形には向いていないと思います。一旦データが読めてしまえば、タイムスタンプの修正でも、ピボットテーブルでもなんでも、ほとんど思い通りになりますが。

これらを整形するにはCSVファイルを手作業で修正する必要があるのでしょうか。

イレギュラーだとしても、一応CSVファイルの体裁が整っているのなら、Pythonのcsv.readerで読んでみたらどうですか?あれなら、行ごとに要素数が違っても一応読めます。あとは、読んだ項目をregexなどでパースして、直せるところは直してダメなところは行数を出力→手動で治す、みたいな感じでやるしかないんじゃないかなぁ。

0Like

Comments

  1. @harubishi

    Questioner

    ありがとうございます!いったんカラム名をつけたことで読み込めてはいるので、あとは手動で直してみます!

Your answer might help someone💌