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 cookielib 登录人人网的实现代码
Dec 19 Python
Python pickle模块用法实例分析
May 27 Python
Python 正则表达式的高级用法
Dec 04 Python
Python查找第n个子串的技巧分享
Jun 27 Python
python实现狄克斯特拉算法
Jan 17 Python
Python实现的读取文件内容并写入其他文件操作示例
Apr 09 Python
python实现翻转棋游戏(othello)
Jul 29 Python
Django框架模板用法入门教程
Nov 04 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
浅析matlab中imadjust函数
Feb 27 Python
python爬虫selenium模块详解
Mar 30 Python
Django实现drf搜索过滤和排序过滤
Jun 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
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
用Socket发送电子邮件
2006/10/09 PHP
基于php冒泡排序算法的深入理解
2013/06/09 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
PHP读书笔记_运算符详解
2016/07/01 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
2018/08/28 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
Nodejs处理异常操作示例
2018/12/25 NodeJs
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
Python open读写文件实现脚本
2008/09/06 Python
python使用递归解决全排列数字示例
2014/02/11 Python
python实现抖音点赞功能
2019/04/07 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
python中count函数简单用法
2020/01/05 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
公司出纳岗位职责
2013/12/07 职场文书
社区学习十八大感想
2014/01/22 职场文书
高中生物教学反思
2014/02/05 职场文书
多人股份制合作协议书
2016/03/19 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python
python计算列表元素与乘积详情
2022/08/05 Python