Pandas DataFrame DataFrame.to_csv() 函式
Minahil Noor
2023年1月30日
-
pandas.DataFrame.to_csv()
語法 -
示例程式碼:
DataFrame.to_csv()
-
示例程式碼:
DataFrame.to_csv()
為 CSV 資料指定分隔符 -
示例程式碼:
DataFrame.to_csv()
選擇少數幾列並重新命名列
Python Pandas DataFrame.to_csv()
函式將一個 DataFrame
的行和列所包含的值儲存到一個 CSV 檔案中。我們也可以將 DataFrame
轉換為 CSV 字串。
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=".",
)
引數
這個函式有幾個引數。上面提到了所有引數的預設值。
path_or_buf |
它是一個字串或檔案控制代碼。它代表一個檔案或一個檔案物件的名稱。如果它的值是 None,那麼 DataFrame 將被轉換為 CSV “string”。 |
sep |
它是一 Series 個字串。它代表 CSV 檔案中使用的分隔符。 |
na_rep |
它是一個字串。它代表缺失的資料。 |
float_format |
它是一個字串。它表示浮點數的格式。 |
columns |
它是一個 Series 。它表示將儲存在 CSV 檔案中的 DataFrame 的列。 |
header |
它是一個布林值或一個字串列表。如果它的值被設定為 False ,那麼列名就不會儲存在 CSV 檔案中。如果傳遞一個字串列表,那麼這些字串將作為列名儲存。 |
index |
它是一個布林值,如果它的值是 True ,則儲存行名,即索引。如果它的值為 True ,那麼行名即索引將被儲存。 |
index_label |
它是一個字串或 Series 。它代表一個特定索引的列名。 |
mode |
它是一個字串。它代表程序的模式。由於我們正在將 DataFrame 寫入 CSV 檔案,它的值是 Python 寫入模式 w 。 |
encoding |
它是一個字串。它代表 CSV 檔案中要使用的編碼方案,預設的編碼方案是 utf-8 。預設的編碼方案是 utf-8 。 |
compression |
它是一個字串或字典。如果是字串,則代表壓縮模式。如果它是一個字典,那麼 method 鍵對應的值代表壓縮模式。它有幾種壓縮模式。你可以檢視這裡。 |
quoting |
它代表一個 CSV 模組的常量 |
quotechar |
它是一個字串,長度為 1。它的長度為 1,表示用於引用欄位的字元。 |
line_terminator |
它是一個字串。它代表 CSV 檔案中新行的字元。 |
chunksize |
它是一個整數。它表示每次要寫入 CSV 檔案的行數。 |
date_format |
它是一個字串。它代表 DateTime 物件的格式。 |
doublequote |
它是一個布林值。它控制 quotechar 的引用。 |
escapechar |
它是一個字串,長度為 1。它的長度為 1,代表用於轉義的 sep 和 quotechar 的字元。 |
decimal |
它是一個字串。它代表小數點的字元。 |
返回值
它返回 None
或字串。如果 path_or_buf
是 None
,那麼它將 DataFrame
轉換為字串並返回字串。否則,它返回 None
。
示例程式碼:DataFrame.to_csv()
在接下來的幾個程式碼中,我們將以不同的方式實現這個函式。
import pandas as pd
dataframe=pd.DataFrame({
'Attendance':
{0: 60,
1: 100,
2: 80,
3: 78,
4: 95},
'Name':
{0: 'Olivia',
1: 'John',
2: 'Laura',
3: 'Ben',
4: 'Kevin'},
'Obtained Marks':
{0: 90,
1: 75,
2: 82,
3: 64,
4: 45}
})
print(dataframe)
示例 DataFrame
是:
Attendance Name Obtained Marks
0 60 Olivia 90
1 100 John 75
2 80 Laura 82
3 78 Ben 64
4 95 Kevin 45
這個函式的所有引數都是可選的。如果我們在執行這個函式時不傳遞任何引數,那麼它將產生以下輸出。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
csvstring = dataframe.to_csv()
print(csvstring)
輸出:
,Attendance,Name,Obtained Marks
0,60,Olivia,90
1,100,John,75
2,80,Laura,82
3,78,Ben,64
4,95,Kevin,45
該函式使用所有預設值生成了輸出。它返回了一個 CSV 字串。現在我們將把資料儲存在 CSV 檔案中。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
returnValue = dataframe.to_csv("myfile.csv")
print(returnValue)
輸出:
None
函式在儲存程式的目錄下建立了一個新的 CSV 檔案。
示例程式碼:DataFrame.to_csv()
為 CSV 資料指定分隔符
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
returnValue = dataframe.to_csv(sep="@")
print(returnValue)
輸出:
@Attendance@Name@Obtained Marks
0@60@Olivia@90
1@100@John@75
2@80@Laura@82
3@78@Ben@64
4@95@Kevin@45
示例程式碼:DataFrame.to_csv()
選擇少數幾列並重新命名列
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
returnValue = dataframe.to_csv(
"myfile.csv", columns=["Name", "Obtained Marks"], header=["Full Name", "Marks"]
)
print(returnValue)
輸出:
None
就像上面的程式碼一樣,我們可以使用不同的引數來定製我們的 CSV 檔案。這個函式提供了幾個引數來使用。