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编写一个每天都在系统下新建一个文件夹的脚本
May 04 Python
Python中的下划线详解
Jun 24 Python
详解Python中的序列化与反序列化的使用
Jun 30 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
对Python3.6 IDLE常用快捷键介绍
Jul 16 Python
Django model序列化为json的方法示例
Oct 16 Python
用python脚本24小时刷浏览器的访问量方法
Dec 07 Python
python切片的步进、添加、连接简单操作示例
Jul 11 Python
django最快程序开发流程详解
Jul 19 Python
Django上线部署之IIS的配置方法
Aug 22 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
Python字符串函数strip()原理及用法详解
Jul 23 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中namespace use用法实例分析
2016/01/22 PHP
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
nodejs npm package.json中文文档
2014/09/04 NodeJs
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
JavaScript动态生成二维码图片
2016/04/20 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
Vuex 入门教程
2018/01/10 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
2018/09/10 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
对python调用RPC接口的实例详解
2019/01/03 Python
django模板结构优化的方法
2019/02/28 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
django序列化serializers过程解析
2019/12/14 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
python中Mako库实例用法
2020/12/31 Python
浅析pandas随机排列与随机抽样
2021/01/22 Python
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
俄罗斯GamePark游戏商店网站:购买游戏、游戏机和配件
2020/03/13 全球购物
Java语言程序设计测试题改错题部分
2014/07/22 面试题
电子商务专业个人的自我评价
2013/12/19 职场文书
植树节活动总结
2014/04/30 职场文书
个人向公司借款协议书
2014/10/09 职场文书
小兵张嘎观后感
2015/06/03 职场文书
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
2022年四月新番
2022/03/15 日漫
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript
MySQL GTID复制的具体使用
2022/05/20 MySQL