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代码使其加快作用域内的查找
Mar 30 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 Python
Python 处理数据的实例详解
Aug 10 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
Jul 06 Python
基于Django框架利用Ajax实现点赞功能实例代码
Aug 19 Python
django DRF图片路径问题的解决方法
Sep 10 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
Python configparser模块配置文件过程解析
Mar 03 Python
Django 解决上传文件时,request.FILES为空的问题
May 20 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
python 实现百度网盘非会员上传超过500个文件的方法
Jan 07 Python
python3+PyQt5+Qt Designer实现界面可视化
Jun 10 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 不错的学习资料
2009/02/06 PHP
PHP 获取目录下的图片并随机显示的代码
2009/12/28 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
2016/12/08 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
jQuery输入框密码的显示隐藏【代码分享】
2017/04/29 jQuery
js随机生成一个验证码
2017/06/01 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
2019/03/14 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
python创造虚拟环境方法总结
2019/03/04 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
python 画图 图例自由定义方式
2020/04/17 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
.net面试题
2015/12/22 面试题
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
百度吧主申请感言
2014/01/12 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS
JS前端可扩展的低代码UI框架Sunmao使用详解
2022/07/23 Javascript