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 ...
随机推荐
- java 返回某一天的周日和现在这一周的周日
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import j ...
- 一次电话Java面试的问题总结(JDK8新特性、哈希冲突、HashMap原理、线程安全、Linux查询命令、Hadoop节点)
面试涉及问题含有: Java JDK8新特性 集合(哈希冲突.HashMap的原理.自动排序的集合TreeSet) 多线程安全问题 String和StringBuffer JVM 原理.运行流程.内部 ...
- Navicat 连接MySQL数据库 报错2059 - authentication plugin 'caching_sha2_password'的解决办法
#在数据库的命令行中输入以下代码即可解决,密码必须要修改 可以再次执行将密码改回来. use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH ...
- Python 标示符和关键字
标示符 开发人员在程序中自定义的一些符号和名称.标示符是自己定义的,如变量名 .函数名等 标示符的规则 标示符由字母.下划线和数字组成,且数字不能开头 注:python中的标识符是区分大小写的 命 ...
- 利用Audacity软件分析ctf音频隐写
分析音频得到摩斯电码 看波的宽度分辨长短音 比较细的就是短音,代表"." 比较粗的就是长音,代表"-" 中间的间隔就是" " 得到摩斯电码
- XSS 漏洞原理及防御方法
XSS跨站脚本攻击:两种情况.一种通过外部输入然后直接在浏览器端触发,即反射型XSS:还有一种则是先把利用代码保存在数据库或文件中,当web程序读取利用代码并输出在页面上时触发漏洞,即存储型XSS.D ...
- LeetCode算法题-Reverse Bits(Java实现)
这是悦乐书的第185次更新,第187篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第44题(顺位题号是190).给定32位无符号整数,求它的反转位.例如: 输入:4326 ...
- Linux 小知识翻译 - 「编译器和解释器」
这次聊聊「编译器和解释器」. 编程语言中,有以C为代表的编译型语言和以Perl为代表的解释型语言.不管是哪种,程序都是以人类能够理解的形式记录的,这种形式计算机是无法理解的. 因此,才会有编译器和解释 ...
- Teradata的profile使用
1.proflie优势 使用profile可以批量管理用户参数,尤其是在一批用户具有相同的参数配置时,十分便捷. 2.profile可配置用户参数 [Account id][Default datab ...
- Zookeeper Health Checks
Short Description: The article talks about the basic health checks to be performed when working on i ...