用 Python 將陣列寫入 CSV 檔案

Muhammad Waiz Khan 2023年1月30日
  1. 在 Python 中 Python 使用 numpy.savetxt() 方法將陣列寫入 CSV 檔案
  2. 在 Python 中 Python 使用 Dataframe.to_csv() 方法將陣列寫入 CSV 檔案
  3. 使用 writer.writerows() 方法將 Python 將陣列寫入 CSV 檔案中的 CSV 檔案
用 Python 將陣列寫入 CSV 檔案

在本教程中,我們將研究將陣列的資料寫入 Python 中逗號分隔值(CSV)檔案的各種方法。假設我們有一個包含一些處理過的資料,某種演算法的輸出,某種模型的權重等的陣列,並且我們想儲存它們以備將來使用。

CSV 檔案通常用於儲存陣列資料,因為它的格式允許以結構化表格形式儲存資料。我們可以在 Python 中使用以下方法將陣列寫入 CSV 檔案。

在 Python 中 Python 使用 numpy.savetxt() 方法將陣列寫入 CSV 檔案

numpy.savetxt(fname, array, delimiter=) 方法將輸入陣列儲存到檔案-fnamedelimiter 引數是用作分隔符的值,用於分隔資料中的獨立值。

要將陣列儲存到 CSV 檔案,我們將需要傳遞帶有副檔名 .csvfname,並使用逗號 , 作為分隔符。下面的示例程式碼演示瞭如何使用 numpy.savetxt() 在 Python 中將陣列寫入 CSV 檔案。

import numpy as np

a = np.array([[1, 4, 2], [7, 9, 4], [0, 6, 2]])
np.savetxt("myfile.csv", a, delimiter=",")

在 Python 中 Python 使用 Dataframe.to_csv() 方法將陣列寫入 CSV 檔案

Dataframe.to_csv(path, sep,...) 方法將 DataFrame 儲存到 path 引數中指定的檔案和路徑。sep 引數是分隔符或分隔符,將用於分隔值。sep 引數的預設值是逗號 ,

我們可以先將陣列轉換為 DataFrame,然後使用 Dataframe.to_csv() 方法將 CSV 檔案的路徑作為 path 引數,然後將其寫入 CSV 檔案。由於 sep 引數的預設值為 ,,因此我們必須向 Dataframe.to_csv() 方法提供 DataFramepath 引數。

以下示例程式碼演示瞭如何使用 Dataframe.to_csv() 方法將陣列寫入 Python 中的 CSV 檔案。

import pandas as pd

df = pd.DataFrame(myarray)
df.to_csv("myfile.csv")

使用 writer.writerows() 方法將 Python 將陣列寫入 CSV 檔案中的 CSV 檔案

writer.writerows(rows) 以二維陣列或列表的形式獲取 rows 引數,並將其寫入 writer 的檔案物件中。writer 物件是從 csv.writer(file) 方法返回的,該方法採用檔案物件 file 作為輸入,並返回 writer 物件作為輸出。

要將陣列寫入 CSV 檔案,我們首先必須將 CSV 檔案物件傳遞給 csv.writer() 方法,然後使用 csv.writer() 方法返回的 writer 物件來編寫陣列到 CSV 檔案。

下面的示例程式碼演示瞭如何在 Python 中使用 writer.writerows() 方法將陣列寫入 CSV 檔案。

import csv
import numpy

a = numpy.array([[1, 4, 2], [7, 9, 4], [0, 6, 2]])

with open("myfile.csv", "w", newline="") as file:
    mywriter = csv.writer(file, delimiter=",")
    mywriter.writerows(a)

要從 CSV 檔案讀取陣列,我們可以使用 csv.reader(file) 方法的 writer 物件從 Python 中的 CSV 檔案的檔案物件 file 中讀取陣列。

下面的示例程式碼演示瞭如何使用 csv.reader() 方法從 CSV 檔案讀取陣列。

import csv

with open("myfile.csv", "r", newline="") as file:
    myreader = csv.reader(file, delimiter=",")
    for rows in myreader:
        print(rows)

輸出:

['1', '4', '2']
['7', '9', '4']
['0', '6', '2']

相關文章 - Python Array