背景
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问题分析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 杨阳《约定HQCDII》头版限量编号2024[WAV+CUE]
- 曝《黑神话:悟空》DLC明年推出 农历新年前后
- PS5日本涨价19% 索尼股价应声上涨2.7%
- 《黑神话》发行平台遭大规模网攻 外媒却鲜有报道
- 伍佰《爱你伍佰年 世纪典藏原音精选3CD》[WAV+CUE][2.3GB]
- 伍佰《爱情的尽头》[WAV+CUE][2.6GB]
- 伍佰 《光环摇滚之声DSD》[WAV+CUE][500MB]
- 王菲.1999-只爱陌生人【EMI百代】【WAV+CUE】
- 林美音.1993-酒后的心声【瑞华】【WAV+CUE】
- 群星.2024-凡人歌电视剧原声带【正午阳光】【FLAC分轨】
- 黑神话悟空上品骨悚然精魄获取方法一览|上品骨悚然精魄收集攻略
- 《演灭Evotinction》正式登陆多平台发售!带你进入科幻潜行新境界
- 命运圣契2024公测最新兑换码大全 命运圣契开服可用兑换码汇总
- 银霞.1979-《回答·兰花草》新加坡限量复黑版[WAV+CUE]
- 王菲.1996-《乐乐精逊SACD日本限量版[WAV+CUE]