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 client使用http post 到server端的代码
Feb 10 Python
Python实现在Linux系统下更改当前进程运行用户
Feb 04 Python
Python发送email的3种方法
Apr 28 Python
python利用socketserver实现并发套接字功能
Jan 26 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 Python
Pytorch加载部分预训练模型的参数实例
Aug 18 Python
python3用urllib抓取贴吧邮箱和QQ实例
Mar 10 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
May 27 Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 Python
python编写扎金花小程序的实例代码
Feb 23 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
May 17 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 mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
[原创]php使用curl判断网页404(不存在)的方法
2016/06/23 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
了解前端理论:rscss和rsjs
2019/05/23 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
python使用递归解决全排列数字示例
2014/02/11 Python
Python里隐藏的“禅”
2014/06/16 Python
Python魔术方法详解
2015/02/14 Python
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
python套接字流重定向实例汇总
2016/03/03 Python
python中的迭代和可迭代对象代码示例
2017/12/27 Python
CentOS7下python3.7.0安装教程
2018/07/30 Python
python中Lambda表达式详解
2019/11/20 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
程序员机试试题汇总
2012/03/07 面试题
预防艾滋病宣传活动总结
2015/05/09 职场文书
公司会议开幕词
2016/03/03 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL