,,python导入csv文件出现SyntaxError问题分析

,,python导入csv文件出现SyntaxError问题分析

本文主要介绍python导入csv文件时SyntaxError的分析,涉及到python导入csv文件的三种方法,有一定的参考价值,有需要的朋友可以参考一下。

背景

Np.loadtxt()用于从文本中加载数据。

文档中的每一行必须包含相同的数据。

***

loadtxt(fname,dtype=class'float ',comments='# ',delimiter=None,converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0)

Fname要读取的文件、文件名或生成器。

数据类型,默认浮点数。

评论评论。

分隔符,默认情况下是一个空格。

Skiprows跳过读取的前几行,默认值为0,必须是int整数。

Usecols:要读取的列,0是第一列。例如,usecols=(1,4,5)将提取第2、5和6列。默认情况下,读取所有列。

解包,如果为真,将单独读取。

问题

今天在ipython中读取文件时,

代码是:

将numpy作为np导入

x=NP . load txt(' c:\ users \ sunshine \ desktop \ scj ym _ 3 ynp 3 gj \ source data \ 00001 . CSV ',delimiter=',',skiprows=(1),usecols=(1,4,6),)

发生了以下错误:

语法错误:(unicode错误)“unicodeescape”编解码器无法解码位置2-3中的字节:truncated \UXXXXXXXX escape

编码错误。查找问题后,发现采用了以下解决方案:

' r ' c:\ Users \ experialed \ Desktop \ Python '

' c:\ \ Users \ \ experialed \ \ Desktop \ \ Python '

' c:/Users/experialed/Desktop/Python '

看到这里,我就知道自己错在哪里了。

编写字符串时有几点需要注意:

1.长字符串

很长的字符串。当它跨越多行时,可以用三个引号代替普通引号。

即:

print(' ' '这是一个很长的字符串。

还会继续。

这还没有结束。

‘你好,世界’

还在。'''

可以注意到,这样一来,字符串中就可以同时使用单引号和双引号了。

2.原始字符串

也就是说,print(r'c:\nwhere ')

反斜杠有一个特殊的作用,它可以转义,它可以帮助我们给不能直接加的字符串加上单引号和双引号。

\n,换行符,可以存储在字符串中。

在上面的代码块中,很明显我们想要一个路径,如果我们不使用原来的字符串,我们将得到

列车员:在哪里?

对,为了防止这种情况,我们也可以使用反斜杠进行转义,但是如果这个路径很长,就像本文中的路径一样:

c:\ \ users \ \ sunshine \ \ desktop \ \ scj ym _ 3 ynp 3 gj \ \ source data \ \ \ 000001 . CSV

用双斜杠,会很麻烦。

此时,我们可以使用原来的字符串。

原字符串以r开头。

原始字符串不能以反斜杠结尾。

要在末尾使用反斜杠,print(r ' C:\ program files \ 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 line[1:]]

#使用numpy包

将numpy作为np导入

lines=np.loadtxt('iris.csv ',分隔符=',',dtype='str ')

df=lines[1:4]。astype('float ')

#使用熊猫套餐

进口熊猫作为pd

df=pd.read_csv('iris.csv ')

df=df.ix[:4]

三种方法中的最后一种最简单,但需要的时间稍长。第一种最麻烦,但耗时最短。这从ipython中的神奇函数%%timeit就可以看出。

总结

以上就是关于python导入csv文件中SyntaxError的分析。希望对你有帮助。感兴趣的朋友可以继续参考本站其他相关话题。如有不足之处,欢迎留言指出。感谢您对本网站的支持!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: