numpy.loadtxt()
简介
np.loadtxt()用于从文本加载数据。
文本文件中的每一行必须含有相同的数据。
loadtxt(fname, dtype=<class 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
fname要读取的文件、文件名、或生成器。dtype数据类型,默认float。comments注释。delimiter分隔符,默认是空格。skiprows跳过前几行读取,默认是0,必须是int整型。usecols:要读取哪些列,0是第一列。例如,usecols = (1,4,5)将提取第2,第5和第6列。默认读取所有列。unpack如果为True,将分列读取。
问题
今天在ipython中读取文件时,
代码为:
import numpy as np x = np.loadtxt('C:\Users\sunshine\Desktop\scjym_3yNp3Gj\源数据\000001.csv',delimiter= ',',skiprows=(1),usecols= (1,4,6),unpack= False)``` 出现下面的错误: ```SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape``` 编码错误,经搜索问题,发现采用如下解决方案:
r'C:\Users\expoperialed\Desktop\Python'
'C:\Users\expoperialed\Desktop\Python'
'C:/Users/expoperialed/Desktop/Python'
看到这里我就明白自己错在哪儿了。 ***书写字符串有几个需要注意的地方***: ####1. 长字符串 非常长的字符串,跨多行时,可以使用***三个引号***代替普通引号。 即:
print('''This is a very long string.
it will continue.
and it's not over yet.
''hello,world''
still here.'''
可以注意到,使用这种方式时,***字符串中可以同时使用单引号和双引号*** #### 2.原始字符串 即`print(r'c:\nwhere')` ***反斜线有特殊的作用,它会转义***,可以帮助我们在字符串中加入单引号和双引号等不能直接加入的内容。 ***\n,换行符,可以存放于字符串中。*** 以上代码块中,很显然我们是想要一个路径,而如果不使用原始字符串,我们就会得到 `c: where`。 对,为了防止这种情况,我们还可以使用反斜线进行转义,但是如果这个路径很长,就像本文的路径: `C:\\\Users\\\sunshine\\\Desktop\\\scjym_3yNp3Gj\\\源数据\\\000001.csv` 使用双斜线,就会很麻烦。 这时,我们就可以用原始字符串。 ***原始字符串以r开头。*** - 原始字符串结尾不能是反斜线。 - 如要结尾用反斜线,`print(r'C:\Programfiles\foo\bar' '\\')`即`C:\Programfiles\foo\bar\ ` 在常规python字符串中,\U字符组合表示扩展的Unicode代码点转义。 因此这里出现了错误。 ### python导入csv文件的三种方法 ```python #原始的方式 lines = [line.split(',') for line in open('iris.csv')] df = [[float(x) for x in line[:4]] for line in lines[1:]] #使用numpy包 import numpy as np lines = np.loadtxt('iris.csv',delimiter=',',dtype='str') df = lines[1:,:4].astype('float') #使用pandas包 import pandas as pd df = pd.read_csv('iris.csv') df=df.ix[:,:4]
这三种方法中最后一种最简单,不过花费时间比较长一点,第一种最麻烦,不过用时最短。这个可以通过ipython中的magic函数%%timeit来看。
作者:Wang华子
链接:https://www.jianshu.com/p/ef37f739b531
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
numpy.loadtxt()的更多相关文章
- numpy.loadtxt用法
numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None ...
- python numpy loadtxt
用numpy加载csv文件数据 发现python numpy loadtxt 方法和数据的结构有很大关系当我的数据有第一行文字是这样子的时候 我程序的运行结果永远都报错,编码格式也处理了统一utf-8 ...
- numpy.loadtxt() 出现codecError_____ Excel 做矩阵乘法
1) 用 numpy读入csv文件是报错 UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal m ...
- numpy中loadtxt 的用法
numpy中有两个函数可以用来读取文件,主要是txt文件, 下面主要来介绍这两个函数的用法 第一个是loadtxt, 其一般用法为 numpy.loadtxt(fname, dtype=, comme ...
- Numpy应用100问
对于从事机器学习的人,python+numpy+scipy+matplotlib是重要的基础:它们基本与matlab相同,而其中最重要的当属numpy:因此,这里列出100个关于numpy函数的问题, ...
- Python科学计算—numpy模块总结(1)
作为一个本科学数学专业,目前研究非线性物理领域的研究僧.用什么软件进行纯科学计算好,Fortran永远是第一位的:matlab虽然很强大,可以很容易的处理大量的大矩阵,但是求解我们的模型(有时可能是几 ...
- Numpy的学习
Numpy numpy(Numerical Python extensions)是一个第三方的Python包,用于科学计算.这个库的前身是1995年就开始开发的一个用于数组运算的库.经过了长时间的发展 ...
- loadtxt函数
numpy.loadtxt numpy.loadtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, convert ...
- 关于loadtxt编码问题的解决方法
I am trying to load data with numpy.loadtxt... The file im trying to read is using cp1252 coding. Is ...
随机推荐
- Tomcat映射虚拟路径到指定磁盘(eclipse)
用WangEditor富文本编辑,上传图片的时候,本文主要记录一下Tomcat映射虚拟路径到指定磁盘,保存到指定路径中,且能实现页面预览. 在实现之前wangeditor的简单实用请参照博主小道仙的后 ...
- Ehcache缓存配置以及基本使用
在java项目广泛的使用.它是一个开源的.设计于提高在数据从RDBMS中取出来的高花费.高延迟采取的一种缓存方案.正因为Ehcache具有健壮性(基于java开发).被认证(具有apache 2.0 ...
- DataGridView的单元格如何嵌入多个按钮控件
前段时间我有一个朋友面试公司的时候遇到这个面试题,他也给了份原题给我瞧瞧,并没有什么特别的要点,关于这一类问题,如何在网格上的单元格嵌入多个控件(如按钮.超链接等)问题,我在网上搜索了下这类问题,发现 ...
- element-ui的table动态生成表头和数据,且表中数据可编辑
1.实现表头的动态渲染 2.表头label和prop字段都要定义 3.去判断显示那个数据表 4.实现双击的时候在可编辑 // 双击修改 弹出input tableDbEdit(row, column, ...
- 项目初始化mysql建库和授权
创建数据库和授权 mysql -e "create database DATABASE DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_gen ...
- 获取url查询参数的方法
/** * 获取url查询参数的方法 * @param name * @returns {null} * @constructor */ function GetQueryString(name) { ...
- Cesium实现文字、点、多段线、多边形的实时绘制
背景知识 点.线.面以及文字的实时绘制是GIS很重要的一个功能,是用户对感兴趣区域标注的业务需要.同时Cesium提供了点.线(多段线).面及文字(label)绘制的接口,绘制方式总共有两种,一种是通 ...
- [福大软工] Z班 团队Beta阶段成绩汇总
Beta敏捷冲刺得分 队伍名 1 2 3 4 5 总分 Dipper 10 10 10 10 10 50 SWSD 9 9 9 9 7 43 五成胜算 10 10 10 10 10 50 人月神教 0 ...
- bsp 总结
_board_128.c里放硬件不同的东西,如gpio等 product下code里面的cspkernel里面放内核模块补充的
- 【转】vue父子组件之间的通信
vue父子组件之间的通信 在vue组件通信中其中最常见通信方式就是父子组件之中的通性,而父子组件的设定方式在不同情况下又各有不同.最常见的就是父组件为控制组件子组件为视图组件.父组件传递数据给子组件使 ...