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中的元类(metaclass)
Feb 14 Python
python通过apply使用元祖和列表调用函数实例
May 26 Python
Python上传package到Pypi(代码简单)
Feb 06 Python
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
python 第三方库的安装及pip的使用详解
May 11 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
基于pandas数据样本行列选取的方法
Apr 20 Python
python读取图片任意范围区域
Jan 23 Python
python3中property使用方法详解
Apr 23 Python
对Python中TKinter模块中的Label组件实例详解
Jun 14 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
Python读取图像并显示灰度图的实现
Dec 01 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
PHP完整的日历类(CLASS)
2006/11/27 PHP
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
Python with用法实例
2015/04/14 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
pyqt 实现为长内容添加滑轮 scrollArea
2019/06/19 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
2012/11/29 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
质量整改通知单
2015/04/21 职场文书
廉政承诺书2015
2015/04/28 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
python常见的占位符总结及用法
2021/07/02 Python