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编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
Jun 20 Python
python模块之paramiko实例代码
Jan 31 Python
Python函数返回不定数量的值方法
Jan 22 Python
详解python中的hashlib模块的使用
Apr 22 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
Apr 29 Python
Python 切分数组实例解析
Nov 07 Python
Python 之 Json序列化嵌套类方式
Feb 27 Python
详解vscode实现远程linux服务器上Python开发
Nov 10 Python
Django基于Models定制Admin后台实现过程解析
Nov 11 Python
用 Django 开发一个 Python Web API的方法步骤
Dec 03 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 Python
Python基本数据类型之字符串str
Jul 21 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计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
php使用mkdir创建多级目录入门例子
2014/05/10 PHP
js动态创建、删除表格示例代码
2013/08/07 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
使用jQuery实现购物车结算功能
2017/08/15 jQuery
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
Python实现基于权重的随机数2种方法
2015/04/28 Python
Python的Flask框架的简介和安装方法
2015/11/13 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
视光学专业毕业生推荐信
2013/10/28 职场文书
领导证婚人证婚词
2014/01/13 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
公司投资建议书
2014/05/16 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL