pandas
pandasデータフレームをcsvファイルに保存する
サーチ…
パラメーター
パラメータ | 説明 |
---|---|
path_or_buf | 文字列またはファイルハンドル、デフォルトなしファイルパスまたはオブジェクト。Noneが指定されている場合、結果は文字列として返されます。 |
セップ | character、default '、'出力ファイルのフィールド区切り文字。 |
na_rep | 文字列、デフォルト ''データ表現がありません |
float_format | string、defaultなし浮動小数点数の書式文字列 |
列 | シーケンス、オプションの書き込み用の列 |
ヘッダ | 論理値または文字列のリスト、デフォルトTrue列名を書き出します。文字列のリストが与えられている場合は、列名のエイリアスとみなされます |
索引 | ブール値、デフォルトTrue書き込み行の名前(インデックス) |
index_label | 文字列またはシーケンス、またはFalse、デフォルトなし必要に応じて、インデックス列の列ラベル。 Noneが指定され、headerとindexがTrueの場合、インデックス名が使用されます。 DataFrameがMultiIndexを使用する場合は、シーケンスを指定する必要があります。 Falseの場合、インデックス名のフィールドは表示されません。 Rで簡単にインポートするにはindex_label = Falseを使用します |
nanRep | 非難されず、na_repを使用する |
モード | str Python書き込みモード、デフォルト 'w' |
エンコーディング | string、optional出力ファイルで使用するエンコーディングを表す文字列。Python 2では 'ascii'、Python 3では 'utf-8'がデフォルトです。 |
圧縮 | string、optional出力ファイルで使用する圧縮を表す文字列。許可される値は 'gzip'、 'bz2'、 'xz'で、最初の引数がファイル名である場合にのみ使用されます |
line_terminator | string、default 'n'出力ファイルで使用する改行文字または文字シーケンス |
引用 | csvモジュールのオプションの定数のデフォルトはcsv.QUOTE_MINIMALです。 |
quotechar | 文字列(長さ1)、フィールドの引用に使用されるデフォルトの ""文字 |
二重引用符 | boolean、default True Controlフィールド内のquotecharのクォート |
エスケープ文字 | 文字列(長さ1)、デフォルトNone該当する場合はsepとquotecharをエスケープするために使用される文字 |
チャンクサイズ | 一度に書き込むintまたはNoneの行 |
tupleize_cols | ブール値、デフォルトFalseマルチプル・インデックス・カラムをタプルのリスト(Trueの場合)または新規の場合(Falseの場合) |
date_format | string、defaultなしdatetimeオブジェクトの書式文字列 |
小数点以下の | 文字列、デフォルト '。'小数点記号として認識される文字。たとえば、ヨーロッパのデータには '、'を使用します |
ランダムなDataFrameを作成し、.csvに書き込む
単純なDataFrameを作成します。
import numpy as np
import pandas as pd
# Set the seed so that the numbers can be reproduced.
np.random.seed(0)
df = pd.DataFrame(np.random.randn(5, 3), columns=list('ABC'))
# Another way to set column names is "columns=['column_1_name','column_2_name','column_3_name']"
df
A B C
0 1.764052 0.400157 0.978738
1 2.240893 1.867558 -0.977278
2 0.950088 -0.151357 -0.103219
3 0.410599 0.144044 1.454274
4 0.761038 0.121675 0.443863
今度は、CSVファイルに書き込みます:
df.to_csv('example.csv', index=False)
example.csvの内容:
A,B,C
1.76405234597,0.400157208367,0.978737984106
2.2408931992,1.86755799015,-0.977277879876
0.950088417526,-0.151357208298,-0.103218851794
0.410598501938,0.144043571161,1.45427350696
0.761037725147,0.121675016493,0.443863232745
自動生成されたインデックス(行番号0,1,2,3,4)がCSVファイルに含まれないように、 index=False
を指定することに注意してください。次のように、インデックスカラムが必要な場合はそれをインクルードします:
df.to_csv('example.csv', index=True) # Or just leave off the index param; default is True
example.csvの内容:
,A,B,C
0,1.76405234597,0.400157208367,0.978737984106
1,2.2408931992,1.86755799015,-0.977277879876
2,0.950088417526,-0.151357208298,-0.103218851794
3,0.410598501938,0.144043571161,1.45427350696
4,0.761037725147,0.121675016493,0.443863232745
header=False
必要がない場合は、ヘッダを削除することもできます。これは最も簡単な出力です。
df.to_csv('example.csv', index=False, header=False)
example.csvの内容:
1.76405234597,0.400157208367,0.978737984106
2.2408931992,1.86755799015,-0.977277879876
0.950088417526,-0.151357208298,-0.103218851794
0.410598501938,0.144043571161,1.45427350696
0.761037725147,0.121675016493,0.443863232745
区切り文字は、 sep=
引数で設定できますが、csvファイルの標準区切り文字は','
です。
df.to_csv('example.csv', index=False, header=False, sep='\t')
1.76405234597 0.400157208367 0.978737984106
2.2408931992 1.86755799015 -0.977277879876
0.950088417526 -0.151357208298 -0.103218851794
0.410598501938 0.144043571161 1.45427350696
0.761037725147 0.121675016493 0.443863232745
リストからPandas DataFrameをインデックスなしでデータエンコードを使用してcsvに保存する
import pandas as pd
data = [
{'name': 'Daniel', 'country': 'Uganda'},
{'name': 'Yao', 'country': 'China'},
{'name': 'James', 'country': 'Colombia'},
]
df = pd.DataFrame(data)
filename = 'people.csv'
df.to_csv(filename, index=False, encoding='utf-8')
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow