ElementTree.parse() 在下面的简单示例中失败并显示错误
xml.etree.ElementTree.ParseError:不在实体开头的XML或文本声明:第2行,第0列
XML看起来有效,代码很简单,所以我做错了什么?
xmlExample = """
<?xml version="1.0"?>
<data>
stuff
</data>
"""
import io
source = io.StringIO(xmlExample)
import xml.etree.ElementTree as ET
tree = ET.parse(source)
Run Code Online (Sandbox Code Playgroud) 我发现使用链式字符串操作对 Series 进行一些棘手的处理。
我最终发现每个字符串操作都以“.str”为前缀。如果可以像应用一样执行链式操作,那就太好了。
这是代码
# Create dataframe
d = dict(a = ['ab\ncdef'], b = ['bbccdd'])
p = pd.DataFrame.from_dict(d)
print(p)
x1 = p.a.str.replace('c','=').replace('\n','-')[0]
x2 = p.a[0].replace('c','=').replace('\n','-')
x3 = p.apply(lambda r : r.a.replace('c','=').replace('\n','-'),axis=1)[0]
x4 = p.a.str.replace('c','=').str.replace('\n','-')[0]
x1,x2,x3,x4
Run Code Online (Sandbox Code Playgroud)
这是输出。可以看到x1不起作用但x4起作用
a b
0 ab\ncdef bbccdd
('ab\n=def', 'ab-=def', 'ab-=def', 'ab-=def')
Run Code Online (Sandbox Code Playgroud)
由于x3,x4是解决方案...我发布此主要是为了分享并询问链式字符串操作是否应该应用于单个系列?只是好奇其他人是否也遇到过这个。