Home » Python » pandasの使い方 » pandasでTSV(タブ区切りテキスト)を出力する-DataFrame.to_csv()

pandasでTSV(タブ区切りテキスト)を出力する-DataFrame.to_csv()

動作検証バージョン:Windows 11 Home + Python 3.10.6 + Jupyter Notebook 6.5.3 + pandas 2.0.1

「pandas to_string タブ区切り」
といった検索でアクセスがありました。

pythonの外部ライブラリ「pandas」の、DataFrame.to_string()メソッドを使って、TSV(タブ区切りテキスト)ファイルを出力するにはどうすればいいのかを調べていらしたのでしょうか。

[スポンサードリンク]

pandasでTSVファイルを出力するのなら、DataFrame.to_csv()メソッドをおすすめします。

pandasでTSV(タブ区切りテキスト)を出力するサンプル

以下のスクリプトを実行すると、Cドライブtempフォルダーにsamp_to_csv.txtファイルが出力されます。

import pandas as pd

samp_tbl = {
    'name':['Alice', 'Bob', 'Chris', 'Dave', 'Eve',],
    'score':[100, 200, 300, 400, 500,],
}
df = pd.DataFrame(data=samp_tbl)

df.to_csv(r'C:\temp\samp_to_csv.txt', sep='\t')

上記のスクリプトで以下のようなタブ区切りテキストファイルが出力されます。

	name	score
0	Alice	100
1	Bob	200
2	Chris	300
3	Dave	400
4	Eve	500

DataFrame.to_csv()メソッドの引数sepに、

df.to_csv(r'C:\temp\samp_to_csv.txt', sep='\t')

タブ文字をエスケープシーケンス「\t」で指定すればOKです。

インデックス・列名の出力を制御する

DataFrame.to_csv()メソッドにはたくさんの引数を指定できますが、区切り文字を指定するsepの他によく使うのは、インデックスや列名の出力を制御する引数indexとheaderでしょう。

以下のようにキーワード引数indexにFalseを指定すると、

df.to_csv(r'C:\temp\samp_to_csv_noindex.txt', sep='\t', index=False)

インデックスなしのTSVファイルが出力されます。

name	score
Alice	100
Bob	200
Chris	300
Dave	400
Eve	500

また、以下のようにキーワード引数headerにFalseを指定すると、

df.to_csv(r'C:\temp\samp_to_csv_noheader.txt', sep='\t', header=False)

列見出しのないTSVが出力されます。

0	Alice	100
1	Bob	200
2	Chris	300
3	Dave	400
4	Eve	500

最終更新日時:2023-07-24 14:45

[スポンサードリンク]

Home » Python » pandasの使い方 » pandasでTSV(タブ区切りテキスト)を出力する-DataFrame.to_csv()

「pandasの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.