Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

pandasを用いてデータをcsvファイルに保存したり出力したりする

Posted at

pandasを用いたcsvファイルの操作方法

ヘッダー付きでデータをcsvファイルに保存

Pythonのリストからpandasデータフレームを作成し、そのデータをヘッダー付きのcsvファイルに保存するプログラムを書く。

データの内容

名前と年齢と在住している都市のデータを扱う。

  • Name:人の名前(文字列)
  • Age:年齢(整数)
  • City:都市(文字列)

データは次の通りです:

  • Alice, 30, New York
  • Bob, 25, Los Angeles
  • Charlie, 35, Chicago

ファイル名

  • people_with_header.csv

条件

  • ヘッダーを含めるように保存すること。(ヘッダーとは、csvファイルやデータフレームの最初の行に含まれる列名(タイトル)のこと。今回で言えば、Name, Age, City である。)
import pandas as pd

data = {'Name':["Alice", "Bob", "Charlie"],
        "Age":[30, 25, 35],
        "City":["New York", "Los Angels", "Chicago"]}
        
df = pd.DataFrame(data)
df.to_csv("people_with_header.csv")

結果

スクリーンショット 2024-12-06 22.23.24.png

ヘッダーなしでデータを読み込む

people_with_header.csvファイルをヘッダーなしで読み込む。ヘッダーを無視して読み込むには、header=Noneを使用する。

# CSVファイルをヘッダーなしで読み込む
data_read = pd.read_csv("people_with_header.csv", header=None)
print(data_read)
     0        1    2           3
0  NaN     Name  Age        City
1  0.0    Alice   30    New York
2  1.0      Bob   25  Los Angels
3  2.0  Charlie   35     Chicago

ポイント

  • csvファイルの最初の行(Name, Age, City)がデータの一部として読み込まれる。
  • 最初の列は、元々のインデックス列である。to_csv()のデフォルト設定でインデックスも保存されたため、この列が含まれている。

インデックス列を含めたくない場合

to_csv()index=Falseとしてcsvファイルに保存することで、余計なインデックス列が含まれなくなる。

# CSVファイルに保存(インデックスを含めない)
df.to_csv("people_with_header_no_index.csv", index=False)

# 再びヘッダーなしで読み込む
data_read_no_index = pd.read_csv("people_with_header_no_index.csv", header=None)
print(data_read_no_index)

結果

スクリーンショット 2024-12-06 22.47.26.png

       0   1            2
0   Name Age        City
1  Alice  30    New York
2    Bob  25  Los Angeles
3 Charlie  35     Chicago

まとめ

  • header=Noneを指定することで、csvファイルの最初の列をヘッダーとして扱わず、全ての行をデータとして読み込む。
  • to_csv()indexパラメータを適切に設定することで、インデックス(行番号)を保存するかどうかを制御できる。
  • index=Falseとすることで、csvファイルにインデックスを含めずに、余分な行が生成されないようにできる。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar 🎅

Some calendars come with gifts and some gifts are drawn from all calendars 👀

Please tie the article to your calendar and let's enjoy Christmas together!

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?