python數組保存為csv文件,python numpy數組動態寫入csv文件_python - 將NumPy數組轉儲到csv fi中

 2023-11-30 阅读 25 评论 0

摘要:python - 將NumPy數組轉儲到csv fi中有沒有辦法將NumPy數組轉儲到CSV文件中? 我有一個2D NumPy數組,需要以人類可讀的格式轉儲它。9個解決方案588 votesnumpy.savetxt將數組保存到文本文件中。python數組保存為csv文件?import numpya = numpy.asarray([ [1

python - 將NumPy數組轉儲到csv fi中

有沒有辦法將NumPy數組轉儲到CSV文件中? 我有一個2D NumPy數組,需要以人類可讀的格式轉儲它。

9個解決方案

588 votes

numpy.savetxt將數組保存到文本文件中。

python數組保存為csv文件?import numpy

a = numpy.asarray([ [1,2,3], [4,5,6], [7,8,9] ])

numpy.savetxt("foo.csv", a, delimiter=",")

Jim Brissom answered 2019-01-28T13:14:16Z

65 votes

大熊貓簡單快捷

python read csv,import pandas as pd

df = pd.DataFrame(np_array)

df.to_csv("file_path.csv")

maxbellec answered 2019-01-28T13:14:38Z

31 votes

tofile是一個方便的功能:

python讀取數組。import numpy as np

a = np.asarray([ [1,2,3], [4,5,6], [7,8,9] ])

a.tofile('foo.csv',sep=',',format='%10.5f')

手冊頁有一些有用的注釋:

這是一種便于快速存儲陣列數據的功能。?? 關于字節序和精度的信息丟失了,所以這種方法不是?? 用于存檔數據或傳輸數據的文件的不錯選擇?? 在具有不同字節序的機器之間。 其中一些問題可以?? 通過輸出數據作為文本文件來克服,代價是?? 速度和文件大小。

注意。 此功能不會生成多行csv文件,它會將所有內容保存到一行。

python打開csv文件。atomh33ls answered 2019-01-28T13:15:23Z

11 votes

將記錄數組寫為帶有標題的CSV文件需要更多的工作。

此示例讀取帶有第一行標題的CSV文件,然后寫入相同的文件。

import numpy as np

# Write an example CSV file with headers on first line

python csv文件,with open('example.csv', 'w') as fp:

fp.write('''\

col1,col2,col3

1,100.1,string1

2,222.2,second string

''')

python numpy數組、# Read it as a Numpy record array

ar = np.recfromcsv('example.csv')

print(repr(ar))

# rec.array([(1, 100.1, 'string1'), (2, 222.2, 'second string')],

# dtype=[('col1', '

# Write as a CSV file with headers on first line

Python csv,with open('out.csv', 'w') as fp:

fp.write(','.join(ar.dtype.names) + '\n')

np.savetxt(fp, ar, '%s', ',')

請注意,此示例不考慮帶逗號的字符串。 要考慮非數字數據的引號,請使用csv包:

import csv

with open('out2.csv', 'wb') as fp:

python將數據存入數組?writer = csv.writer(fp, quoting=csv.QUOTE_NONNUMERIC)

writer.writerow(ar.dtype.names)

writer.writerows(ar.tolist())

Mike T answered 2019-01-28T13:15:59Z

3 votes

如果你想寫在列中:

python處理csv?for x in np.nditer(a.T, order='C'):

file.write(str(x))

file.write("\n")

這里'a'是numpy數組的名稱,'file'是要寫入文件的變量。

如果你想連續寫:

writer= csv.writer(file, delimiter=',')

python把csv寫成列表?for x in np.nditer(a.T, order='C'):

row.append(str(x))

writer.writerow(row)

Rimjhim Bhagat answered 2019-01-28T13:16:37Z

2 votes

如果要將numpy數組(例如your_array = np.array(ast.literal_eval(cell_string)))保存到一個單元格,可以先將其轉換為[[1, 2], [2, 4]]。

python寫入csv文件的幾種方法總結?然后以正常方式將其保存到一個單元格,使用your_array = np.array(ast.literal_eval(cell_string))并且csv文件中的單元格看起來像這樣[[1, 2], [2, 4]]

然后你可以像這樣恢復你的數組:your_array = np.array(ast.literal_eval(cell_string))

Mr Poin answered 2019-01-28T13:17:16Z

2 votes

你也可以使用純python而不使用任何模塊。

# format as a block of csv text to do whatever you want

python將字符串存入數組、csv_rows = ["{},{}".format(i, j) for i, j in array]

csv_text = "\n".join(csv_rows)

# write it to a file

with open('file.csv', 'w') as f:

f.write(csv_text)

Greg answered 2019-01-28T13:17:38Z

python讀取整個csv。1 votes

如前所述,將陣列轉儲為CSV文件的最佳方法是使用.gz方法。 但是,我們應該知道某些事情要做得恰當。

例如,如果你有一個numpy數組,其中包含.gz

narr = np.array([[1,2],

[3,4],

[5,6]], dtype=np.int32)

numpy導入csv文件。并希望使用.gz保存

np.savetxt('values.csv', narr, delimiter=",")

它將以浮點指數格式存儲數據

1.000000000000000000e+00,2.000000000000000000e+00

3.000000000000000000e+00,4.000000000000000000e+00

5.000000000000000000e+00,6.000000000000000000e+00

python numpy。您必須使用名為.gz的參數更改格式

np.savetxt('values.csv', narr, fmt="%d", delimiter=",")

以原始格式存儲數據

以壓縮的gz格式保存數據

此外,.gz可用于以.gz壓縮格式存儲數據,這在通過網絡傳輸數據時可能很有用。

我們只需將文件的擴展名更改為.gz,numpy將自動處理所有內容

np.savetxt('values.gz', narr, fmt="%d", delimiter=",")

希望能幫助到你

Daksh answered 2019-01-28T13:19:00Z

0 votes

在Python中,我們使用csv.writer()模塊將數據寫入csv文件。 該模塊類似于csv.reader()模塊。

import csv

person = [['SN', 'Person', 'DOB'],

['1', 'John', '18/1/1997'],

['2', 'Marie','19/2/1998'],

['3', 'Simon','20/3/1999'],

['4', 'Erik', '21/4/2000'],

['5', 'Ana', '22/5/2001']]

csv.register_dialect('myDialect',

delimiter = '|',

quoting=csv.QUOTE_NONE,

skipinitialspace=True)

with open('dob.csv', 'w') as f:

writer = csv.writer(f, dialect='myDialect')

for row in person:

writer.writerow(row)

f.close()

分隔符是用于分隔字段的字符串。 默認值為逗號(,)。

Tamil Selvan S answered 2019-01-28T13:19:30Z

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/186697.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息