python中numpy数组的csv文件写入与读取
作者:shangyj17 发布时间:2021-11-26 06:18:20
0.摘要
本文主要介绍numpy库中,csv文件中数据的写入和读取方式。
1.文件写入与读取
写入:
import numpy as np
a = np.arange(0,10000).reshape(100,100)
np.savetxt("temp.csv", a, delimiter=",")
读取:
b = np.loadtxt("temp.csv", delimiter=",")
print(b) #打印b数组
print(max(b.reshape(-1))) #打印b数组中的最大值
print(min(b.reshape(-1))) #打印b数组中的最小值
注意:写入和读取的delimiter参数要保持一致,否则无法正常读取。
2.函数详解-savetxt
savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)
功能:用于将array类型保存到文本文件中。
参数:
fname : 文件名或者文件句柄。如果文件名以".gz"结尾,则该文件会被自动以gzip形式压缩。当然,"loadtxt"也可以解析被压缩的文件。
X : 一维或者二维数组。需要写入文本文件的数据。
fmt : str或者str序列,可选参数。单一格式(%10.5f),序列格式或多重格式字符串,例如。“Iteration %d—%10.5f”,在这种情况下“delimiter”参数被忽略。对于复杂的“X”,“fmt”的合理选择如下:
a) a single specifier, `fmt='%.4e'`, resulting in numbers formatted like `' (%s+%sj)' % (fmt, fmt)`
b) a full string specifying every real and imaginary part, e.g.`' %.4e %+.4ej %.4e %+.4ej %.4e %+.4ej'` for 3 columns
c) a list of specifiers, one per column - in this case, the real and imaginary part must have separate specifiers, e.g. `['%.3e + %.3ej', '(%.15e%+.15ej)']` for 2 columns
delimiter :str,可选参数。用于分隔列的字符串或者字符。
newline :str,可选参数。用于分隔行的字符串或者字符。
header : str,可选参数。将被添加到文件开头的字符串。
footer : str,可选参数。将被添加到文件结尾的字符串。
comments : str,可选参数。将作为前缀被添加到"header" 和 "footer"的字符串,用于将这部分标记为注释内容。默认是"#"。
encoding : {None, str}, 可选参数。用于对输出文件的编码。不适用与输出流。如果编码格式不是"bytes" 或者"latin1",那么将无法正常load。
3.函数详解-loadtxt
loadtxt(fname, dtype=<class 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes')
功能:从文件中load数据。注意:文件中的每一行数据的数量需要相同。
参数:
fname:文件,str或者是pathlib.Path。
dtype:返回的数据类型,默认float。
comments:str,可选参数。注释说明。默认是"#"。
delimiter:str,可选参数。数值的分隔符,默认是空格。
skiprows:int,可选参数。跳过的行数,默认是0。
usecols:int或者序列,可选参数。读取的列数,0为起点。例如,当usecols=(1,4,5),读取第2列,第5列和第6列。默认值是读取所有列。
unpack:bool型,可选参数。若为为True,可以将数据进行拆分,例如x, y, z = loadtxt(...)。默认值是False。
encoding : 用于对输入文件的解码。
来源:https://blog.csdn.net/qq_17753903/article/details/88603758


猜你喜欢
- 1. 导入包我们这次的任务是随机生成一些离散的点,然后用直线(y = w *x + b )去拟合首先看一下我们需要导入的包有torch 包为
- 情况一:坐标上的内容是文字时如上图这样一个横向的柱状图,y坐标轴的内容太长后会导致显示不全。因为数据是由后端传过来的,有些会很长有些会比较短
- 一、设置主窗口# -*- coding: utf-8 -*-import tkinter from tkinter import ttkim
- 本文实例讲述了python实现自动更换ip的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/env python#-*-
- 表达式的优先级表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列代码段a = 1b = 2c
- Javascript 数组的工作方式与大多数编程语言的数组类似。<!DOCTYPE html><html lang=&qu
- 示例代码,用到了函数substr与iconv_substr,mb_substr<html><head><met
- 很多DBA目前还停留在Oracle 9i或者10g,究其原因有可能是Oracle 11g的价格问题。本文将为大家讲解在Windows 7下安
- django程序,需要写很多api,每个函数都需要几个装饰器,例如@csrf_exempt @require_POST 
- 下面是IN条件运算符的SQL语句:SELECT column1, SUM(column2) FROM&nbs
- import urllib, httplib import utils import json &nbs
- 这段时间有个朋友想导出微信里面的账单信息,后来发现微信的反爬虫还是很厉害的,花了点时间去分析。一、采用传统模拟http抓取抓取的主要URL:
- pycharm from lxml import etree标红##原因:没有lxml这个包###解决方法:需要安装xlml包####下载地
- 这个是作者自己封装的一个钉钉机器人的包,目前只支持发文本格式、链接格式、markdown格式的消息,我们可以在很多场景用到这个,比如告警通知
- 起步在我的印象中,python的机制会自动清理已经完成任务的子进程的。通过网友的提问,还真看到了僵尸进程。import multiproce
- 使用export default导出class类首先我们要创建一个类并导出class win { getProcessInfo(
- 前言大家好,我是Peter~本文记录的是Pandas两种少用的读取文件方式:读取在线文件的数据读取剪贴板的数据声明:本文案例和在线数据仅用于
- Flask框架介绍Flask诞生于2010年,是Armin ronacher用Python语言基于Werkzeug工具箱编写的轻量级Web开
- 这篇文章主要介绍了python如何基于redis实现ip代理池,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 应用 MySQL 时,会遇到不能创建函数的情况。出现如下错误信息:ERROR 1418 : This function has none o