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写的Socks5协议代理服务器
Aug 06 Python
Python3基础之输入和输出实例分析
Aug 18 Python
对于Python异常处理慎用“except:pass”建议
Apr 02 Python
Python合并多个装饰器小技巧
Apr 28 Python
python实现获取Ip归属地等信息
Aug 27 Python
python编程嵌套函数实例代码
Feb 11 Python
python中实现将多个print输出合成一个数组
Apr 19 Python
Python中list查询及所需时间计算操作示例
Jun 21 Python
selenium+python环境配置教程详解
May 28 Python
python argparser的具体使用
Nov 10 Python
Python使用文件操作实现一个XX信息管理系统的示例
Jul 02 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
Nov 24 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
ftp类(example.php)
2006/10/09 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
PHP daddslashes 使用方法介绍
2012/10/26 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
PHP dirname(__FILE__)原理及用法解析
2020/10/28 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
2013/06/26 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
js插件YprogressBar实现漂亮的进度条效果
2015/04/20 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
写自荐信的注意事项
2014/03/09 职场文书
鸿星尔克广告词
2014/03/21 职场文书
物流管理专业求职信
2014/05/29 职场文书
2014年项目工作总结
2014/11/24 职场文书
农贸批发市场管理制度
2015/08/07 职场文书