python导入csv文件出现SyntaxError问题分析


Posted in Python onDecember 15, 2017

背景

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文件的三种方法

#原始的方式
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来看。

总结

以上就是本文关于python导入csv文件出现SyntaxError问题分析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
一个超级简单的python web程序
Sep 11 Python
python对url格式解析的方法
May 13 Python
简单讲解Python中的闭包
Aug 11 Python
深入解读Python解析XML的几种方式
Feb 16 Python
Python实现复杂对象转JSON的方法示例
Jun 22 Python
Python实现求数列和的方法示例
Jan 12 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
Python实现计算长方形面积(带参数函数demo)
Jan 18 Python
Python chardet库识别编码原理解析
Feb 18 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 Python
vscode调试django项目的方法
Aug 06 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 Python
python matplotlib中文显示参数设置解析
Dec 15 #Python
MAC中PyCharm设置python3解释器
Dec 15 #Python
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 #Python
python绘制双柱形图代码实例
Dec 14 #Python
Python实现一个Git日志统计分析的小工具
Dec 14 #Python
用matplotlib画等高线图详解
Dec 14 #Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
Dec 14 #Python
You might like
Php-Redis安装测试笔记
2015/03/05 PHP
php实现微信支付之退款功能
2018/05/30 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
js 走马灯简单实例
2013/11/21 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
jquery中event对象属性与方法小结
2013/12/18 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
node.js中的fs.fsyncSync方法使用说明
2014/12/15 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
如何使用angularJs
2017/05/08 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
JS解决position:sticky的兼容性问题的方法
2017/10/17 Javascript
Angular6中使用Swiper的方法示例
2018/07/09 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
python 测试实现方法
2008/12/24 Python
CSS实现聊天气泡效果
2020/04/26 HTML / CSS
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
某公司的.net工程师面试题笔试题
2013/11/22 面试题
银行自荐信范文
2013/10/07 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
化工见习报告范文
2014/10/31 职场文书
新生入学欢迎词
2015/01/26 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
银行催款通知书
2015/04/17 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android