Python:\ n在单引号之外

时间:2017-11-04 05:45:27

标签: python string

在pandas的查询过程中,我注意到我使用的一些字符串在单引号的“外部”有换行符,例如'字符串' \ n。实际的控制台输出如下所示:

KeyError: "['Alabama' 'Alabama' 'Alabama' 'Alabama' 'Alabama' 'Alabama' 'Alabama'\n 'Alabama' 'Alaska' 'Arizona' 'Arizona' 'Arizona' 'Arkansas' 'Arkansas'\n 'Arkansas' 'Arkansas' 'Arkansas' 'Arkansas' ...

我已经在字符串上使用带有'\ n'的条带(我想删除空格和换行符)。如何摆脱这些换行符(以及它们是什么意思?)?

修改:代码段和数据框信息。我应该补充一点,我是一个大熊猫新手,我的查询方式可能不正确,但我想将这个问题限制在\ n问题

实际查询:

df_q[df_u['State']]

df_q.info():df_q由'State','RegionName'进行多索引

<class 'pandas.core.frame.DataFrame'>
MultiIndex: 10730 entries, (New York, New York) to (Wisconsin, Holland)
Data columns (total 7 columns):
2008q3         9884 non-null float64
2008q4         9885 non-null float64
2009q1         9912 non-null float64
2009q2         9930 non-null float64
2009q3         10078 non-null float64
2009q4         10089 non-null float64
is uni town    10730 non-null bool
dtypes: bool(1), float64(6)
memory usage: 597.3+ KB

df_u.info():

<class 'pandas.core.frame.DataFrame'>
Int64Index: 517 entries, 1 to 566
Data columns (total 2 columns):
State         517 non-null object
RegionName    517 non-null object
dtypes: object(2)
memory usage: 12.1+ KB

1 个答案:

答案 0 :(得分:0)

在Python中,字符串文字可以用匹配的单引号(')或双引号(")括起来。
如果用双引号打开字符串,单引号只是字符串中的字符:

my_singleq_str = "'a\n'a\n'a"
print(my_singleq_str)
# 'a
# 'a
# 'a

因此,单引号(或双引号)并不一定意味着字符串边界。

至于换行符char - strip方法仅从开头和结尾删除此char:

s = "\n['Alabama'\n 'Alaska']\n"
print(repr(s)) # "\n['Alabama'\n 'Alaska']\n"
print(repr(s.strip())) # "['Alabama'\n 'Alaska']"

要从字符串中删除所有换行符,请使用replace方法:

s = "\n['Alabama'\n 'Alaska']\n"
print(s.replace('\n','')) # ['Alabama' 'Alaska']