Python如何将数组写入CSV文件?(数组转为CSV)三种方法

2021年3月24日01:45:52 发表评论 12,343 次浏览

在本教程中,我们将学习用Python数组数据写入逗号分隔值(CSV)文件的各种方法。假设我们有一个数组,其中包含一些处理过的数据、一些算法的输出、一些模型的权值等等,我们想保存它们以备将来使用。

下面是Python将数组转为CSV的三种方法(将数组写入CSV文件):

在Python中使用numpy.savetxt()方法将数组写入CSV文件

numpy.savetxt(fname, array, delimiter=)方法将输入数组保存到文件fname中,delimiter参数是用作分隔符的值,用于分隔数据中的独立值。

要将数组保存到CSV文件中,我们需要传递扩展名为.CSV的fname,并使用逗号作为分隔符。下面的示例代码演示了如何使用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中使用Dataframe.to_csv()方法将数组写入CSV文件

Dataframe.to_csv(path, sep,…)方法将Dataframe保存为path参数指定的文件和路径,sep参数是分隔符或定界符,用于分隔值;sep参数的默认值为“,”。

我们可以将数组写入CSV文件,首先将它转换为Dataframe,然后使用Dataframe.to_csv()方法将CSV文件的路径作为path参数提供。因为sep参数的默认值是",",我们必须为Dataframe.to_csv()方法提供Dataframe和path参数。

下面的示例代码演示了如何使用Dataframe.to_csv()方法将数组写入Python中的CSV文件。

import pandas as pd

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

Python中使用writer.writerows()方法将数组写入CSV文件

writer.writerows(rows)以2D数组或列表的形式接受rows参数,并将其写入writer的file对象。writer对象从csv.writer(file)方法返回,该方法接受一个文件对象file作为输入,并返回写入器对象作为输出。

要将数组写入CSV文件,首先必须将CSV文件对象传递给CSV .writer()方法,然后使用writer从CSV.writer()方法返回的writer对象将数组写入CSV文件。

下面的示例代码演示了如何使用writer.writerows()方法将数组写入Python中的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']
木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: