用 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