如何将NumPy数组转储为人类可读格式的csv文件?
当前回答
如果你想保存你的numpy数组(例如your_array = np.array([[1,2],[3,4]]))到一个单元格,你可以先用your_array.tolist()转换它。
然后以正常的方式保存到一个单元格,分隔符=';' csv-file中的单元格看起来像这样[[1,2],[2,4]]
然后你可以像这样恢复你的数组: Your_array = np.array(ast.literal_eval(cell_string))
其他回答
在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()
分隔符是用来分隔字段的字符串。默认值为“,”。
要将NumPy数组存储到文本文件中,请从NumPy模块导入savetxt
假设你的Numpy数组名称是train_df:
import numpy as np
np.savetxt('train_df.txt', train_df, fmt='%s')
OR
from numpy import savetxt
savetxt('train_df.txt', train_df, fmt='%s')
如果你想写在列:
for x in np.nditer(a.T, order='C'):
file.write(str(x))
file.write("\n")
这里'a'是numpy数组的名称,'file'是要写入文件的变量。
如果你想写一行:
writer= csv.writer(file, delimiter=',')
for x in np.nditer(a.T, order='C'):
row.append(str(x))
writer.writerow(row)
你可以用熊猫。它确实需要一些额外的内存,所以它并不总是可行的,但它非常快速和易于使用。
import pandas as pd
pd.DataFrame(np_array).to_csv("path/to/file.csv")
如果你不想要一个头或索引,使用to_csv("/path/to/file.csv", header=None, index=None)
我相信你也可以很简单地做到以下几点:
将Numpy数组转换为Pandas数据框架 另存为CSV
例如# 1:
# Libraries to import
import pandas as pd
import nump as np
#N x N numpy array (dimensions dont matter)
corr_mat #your numpy array
my_df = pd.DataFrame(corr_mat) #converting it to a pandas dataframe
例如# 2:
#save as csv
my_df.to_csv('foo.csv', index=False) # "foo" is the name you want to give
# to csv file. Make sure to add ".csv"
# after whatever name like in the code
推荐文章
- 试图在Windows 10上运行Python时出现“权限被拒绝”
- 向对象数组添加属性
- 如何在Django中设置时区
- 即使模板文件存在,Flask也会引发TemplateNotFound错误
- defaultdict的嵌套defaultdict
- 构造tkinter应用程序的最佳方法?
- 如何在Python中逐行打印字典?
- 当试图运行Python脚本时,“ImportError:没有命名模块”
- pylab和pyplot的区别是什么?
- Argparse:确定使用了哪个子解析器
- django导入错误-没有core.management模块
- JavaScript在数组中
- 在芹菜中检索队列中的任务列表
- Ruby数组到字符串的转换
- 如何分割(块)一个Ruby数组成X元素的部分?