當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.to_csv用法及代碼示例


用法:

DataFrame.to_csv(path_or_buf=None, sep=',', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression='infer', quoting=None, quotechar='"', line_terminator=None, chunksize=None, date_format=None, doublequote=True, escapechar=None, decimal='.', errors='strict', storage_options=None)

將對象寫入逗號分隔值 (csv) 文件。

參數

path_or_bufstr,路徑對象,file-like 對象,或無,默認無

字符串、路徑對象(實現 os.PathLike[str])或實現 write() 函數的 file-like 對象。如果為 None,則結果以字符串形式返回。如果傳遞了非二進製文件對象,則應使用 newline=’’ 打開它,禁用通用換行符。如果傳遞二進製文件對象,mode 可能需要包含 ‘b’

sepstr,默認“,”

長度為 1 的字符串。輸出文件的字段分隔符。

na_repstr,默認“”

缺少數據表示。

float_formatstr,默認無

浮點數的格式字符串。

columns順序,可選

要寫的列。

headerbool 或 str 列表,默認 True

寫出列名。如果給出字符串列表,則假定它是列名的別名。

index布爾值,默認為真

寫行名(索引)。

index_labelstr 或序列,或 False,默認無

如果需要,索引列的列標簽。如果給出 None 並且 headerindex 為 True,則使用索引名稱。如果對象使用 MultiIndex,則應給出一個序列。如果 False 不打印索引名稱的字段。使用 index_label=False 更容易在 R 中導入。

modestr

Python寫模式,默認‘w’。

encodingstr,可選

表示要在輸出文件中使用的編碼的字符串,默認為“utf-8”。如果path_or_buf 是非二進製文件對象,則不支持encoding

compressionstr 或 dict,默認 ‘infer’

用於輸出數據的即時壓縮。如果 ‘infer’ 和 '%s' path-like,則從以下擴展名檢測壓縮:'.gz'、'.bz2'、'.zip'、'.xz' 或 '.zst'(否則不壓縮)。調成None無壓縮。也可以是帶鍵的字典'method'設置為 { 之一'zip','gzip','bz2','zstd'} 和其他鍵值對被轉發到zipfile.ZipFile,gzip.GzipFile,bz2.BZ2File, 或者zstandard.ZstdDecompressor, 分別。例如,可以傳遞以下內容以加快壓縮速度並創建可重現的 gzip 存檔:compression={'method':'gzip', 'compresslevel':1, 'mtime':1}.

quoting來自 csv 模塊的可選常量

默認為 csv.QUOTE_MINIMAL。如果您設置了 float_format,則浮點數將轉換為字符串,因此 csv.QUOTE_NONNUMERIC 會將它們視為非數字。

quotecharstr,默認“”

長度為 1 的字符串。用於引用字段的字符。

line_terminatorstr,可選

要在輸出文件中使用的換行符或字符序列。默認為 os.linesep ,這取決於調用此方法的操作係統(Linux 為“\n”,Windows 為“\r\n”,即)。

chunksize整數或無

一次寫入的行。

date_formatstr,默認無

日期時間對象的格式字符串。

doublequote布爾值,默認為真

控製字段內 quotechar 的引用。

escapecharstr,默認無

長度為 1 的字符串。用於在適當時轉義 sepquotechar 的字符。

decimalstr,默認“。”

識別為小數分隔符的字符。例如:對歐洲數據使用“,”。

errorsstr,默認 ‘strict’

指定如何處理編碼和解碼錯誤。有關選項的完整列表,請參閱 open() 的錯誤參數。

storage_options字典,可選

對特定存儲連接有意義的額外選項,例如主機、端口、用戶名、密碼等。對於 HTTP(S) URL,鍵值對作為標頭選項轉發到 urllib。對於其他 URL(例如以 “s3://” 和 “gcs://” 開頭),鍵值對被轉發到 fsspec 。有關詳細信息,請參閱fsspecurllib

返回

無或字符串

如果path_or_buf 為無,則將生成的 csv 格式作為字符串返回。否則返回無。

例子

>>> df = pd.DataFrame({'name':['Raphael', 'Donatello'],
...                    'mask':['red', 'purple'],
...                    'weapon':['sai', 'bo staff']})
>>> df.to_csv(index=False)
'name,mask,weapon\nRaphael,red,sai\nDonatello,purple,bo staff\n'

創建包含“out.csv”的“out.zip”

>>> compression_opts = dict(method='zip',
...                         archive_name='out.csv')  
>>> df.to_csv('out.zip', index=False,
...           compression=compression_opts)

要將 csv 文件寫入新文件夾或嵌套文件夾,您首先需要使用 Pathlib 或 os 創建它:

>>> from pathlib import Path  
>>> filepath = Path('folder/subfolder/out.csv')  
>>> filepath.parent.mkdir(parents=True, exist_ok=True)  
>>> df.to_csv(filepath)
>>> import os  
>>> os.makedirs('folder/subfolder', exist_ok=True)  
>>> df.to_csv('folder/subfolder/out.csv')

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.to_csv。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。