对于想了解在Python中解析非零填充时间戳的读者,本文将提供新的信息,我们将详细介绍python中非零返回该怎么解决,并且为您提供关于Python-如何在Python中解析XML?、了解女朋友的心还
对于想了解在Python中解析非零填充时间戳的读者,本文将提供新的信息,我们将详细介绍python中非零返回该怎么解决,并且为您提供关于Python-如何在Python中解析XML?、了解女朋友的心还不如了解Python之在Python中解析和修改XML、在python中解析、在python中解析CEST / CET时间的有价值信息。
本文目录一览:- 在Python中解析非零填充时间戳(python中非零返回该怎么解决)
- Python-如何在Python中解析XML?
- 了解女朋友的心还不如了解Python之在Python中解析和修改XML
- 在python中解析
- 在python中解析CEST / CET时间
在Python中解析非零填充时间戳(python中非零返回该怎么解决)
我想从时间戳中获取日期时间,如下所示:3/1/2014 9:55
withdatetime.strptime
或类似的东西。
月份,月中的一天,时不补零,但似乎没有要上市的格式化指令,在这里即能自动分析此。
这样做的最佳方法是什么?谢谢!
答案1
小编典典strptime
能够解析非填充值。在格式代码表中注明已将其填充的事实适用于strftime
的输出。所以你可以用
datetime.strptime(datestr, "%m/%d/%Y %H:%M")
Python-如何在Python中解析XML?
我在包含XML的数据库中有很多行,并且试图编写Python脚本来计算特定节点属性的实例。
我的树看起来像:
<foo> <bar> <type foobar="1"/> <type foobar="2"/> </bar></foo>
如何使用Python访问XML中的属性“1”和“2”?
答案1
小编典典我建议ElementTree。相同的API还有其他兼容的实现,例如lxml
和cElementTree
在Python
标准库本身中。但是,在这种情况下,他们主要添加的是更高的速度-编程的难易程度取决于ElementTree
定义的API 。
首先root
用XML
构建XML
的Element
实例,例如使用XML
函数,或者通过解析文件,例如:
import xml.etree.ElementTree as ETroot = ET.parse(''thefile.xml'').getroot()
或中显示的许多其他方式中的任何一种ElementTree
。然后执行以下操作:
for type_tag in root.findall(''bar/type''): value = type_tag.get(''foobar'') print(value)
和类似的,通常很简单的代码模式。
了解女朋友的心还不如了解Python之在Python中解析和修改XML
摘要: 工作中我们时常需要解析用不同语言编写的数据。Python 提供了许多库来解析或拆分用其他语言编写的数据。在这篇 Python XML 解析器教程的文章中,你可以学习怎么样通过 Python 解析 XML。
以下是本教程中涵盖的所有主题:
Whatis XML?Python XML Parsing Modulesxml.etree.ElementTree Module
- Usingparse() function
- Usingfromstring() function
- FindingElements of Interest
- ModifyingXML files
- Addingto XML
- Deletingfrom XML
xml.dom.minidomModule
- Usingparse() function
- UsingfromString() function
- FindingElements of Interest
XML 是什么?
XML 代表可扩展标记语言。它在外观上类似于 HTML,但 XML 用于数据表示,而 HTML 用于定义正在使用的数据。XML 专门设计用于在客户端和服务器之间来回发送和接收数据。看看下面的例子:
例子:
Idly $2.5 两个 idly''s with chutney
< /description>
553 Paper Dosa $2.7 <
700 Upma $3.65 Rava upma with bajji
600 Bisi Bele Bath $4.50 Bisi Bele Bath with sev
400 Kesari Bath $1.95 藏红花甜拉瓦
950
上面的示例显示了我命名为“Sample.xml”的文件的内容,我将在此 Python XML 解析器教程中为所有即将推出的示例使用相同的内容。
Python XML 解析模块
Python 允许使用两个模块解析这些 XML 文档,即 xml.etree.ElementTree 模块和 Minidom(最小 DOM 实现)。解析意味着从文件中读取信息并通过识别该特定 XML 文件的部分将其拆分为多个部分。让我们进一步了解如何使用这些模块来解析 XML 数据。
xml.etree.ElementTree 模块:
该模块帮助我们在树结构中格式化 XML 数据,这是分层数据的最自然表示。元素类型允许在内存中存储分层数据结构,并具有以下属性:
ElementTree 是一个包装元素结构并允许与 XML 相互转换的类。现在让我们尝试使用 python 模块解析上述 XML 文件。
有两种使用“ElementTree”模块解析文件的方法。第一个是使用parse() 函数,第二个是fromstring() 函数。parse() 函数解析作为文件提供的 XML 文档,而 fromstring 解析作为字符串提供的 XML,即在三引号内。
使用 parse() 函数:
如前所述,该函数采用文件格式的 XML 来解析它。看下面的例子:
例子:
import xml.etree.ElementTree as ET
mytree = ET.parse(''sample.xml'')
myroot = mytree.getroot()
如您所见,您需要做的第一件事是导入 xml.etree.ElementTree 模块。然后, parse() 方法解析“Sample.xml”文件。getroot() 方法返回“Sample.xml”的根元素。
执行上述代码时,您不会看到返回的输出,但不会出现表明代码已成功执行的错误。要检查根元素,您可以简单地使用 print 语句,如下所示:
例子:
import xml.etree.ElementTree as ET
mytree = ET.parse(''sample.xml'')
myroot = mytree.getroot()
print(myroot)
输出:
上面的输出表明我们的 XML 文档中的根元素是“元数据”。
使用 fromstring() 函数:
您还可以使用 fromstring() 函数来解析您的字符串数据。如果要执行此操作,请将 XML 作为字符串传递给三引号,如下所示:
import xml.etree.ElementTree as ET
data='''''' Idly $2.5 Two idly''s with chutney
553''''''
myroot = ET.fromstring(data)
#print(myroot)
print(myroot.tag)
上面的代码将返回与前一个相同的输出。请注意,用作字符串的 XML 文档只是“Sample.xml”的一部分,我使用它来提高可见性。您也可以使用完整的 XML 文档。
您还可以使用“标签”对象检索根标签,如下所示:
例子:
print(myroot.tag)
输出: 元数据
您还可以通过指定要在输出中看到的字符串部分来对标签字符串输出进行切片。
例子:
print(myroot.tag\[0:4\])
输出: 元
如前所述,标签也可以具有字典属性。要检查根标记是否具有任何属性,您可以使用“attrib”对象,如下所示:
例子:
print(myroot.attrib)
输出: {}
如您所见,输出是一个空字典,因为我们的根标签没有属性。
寻找感兴趣的元素:
根也由子标签组成。要检索根标记的子项,您可以使用以下命令:
例子:
print(myroot\[0\].tag)
输出:食物
现在,如果要检索根的所有第一个子标签,可以使用 for 循环迭代它,如下所示:
例子:
for x in myroot\[0\]:
print(x.tag, x.attrib)
输出:
item{''name'': ''breakfast''}价格 {}描述 {}卡路里 {}
返回的所有项目都是食物的子属性和标签。
要使用 ElementTree 将文本从 XML 中分离出来,您可以使用 text 属性。例如,如果我想检索有关第一个食品的所有信息,我应该使用以下代码:
例子:
for x in myroot\[0\]:
print(x.text)
输出:
懒懒地 $ 2.5 两悠闲地与酸辣酱的 553
可以看到,第一项的文本信息已经作为输出返回了。现在,如果您想显示具有特定价格的所有商品,您可以使用 get() 方法。此方法访问元素的属性。
例子:
for x in myroot.findall(''food''):
item =x.find(''item'').text
price = x.find(''price'').text
print(item, price)
输出:
Idly$2.5
Paper Dosa $2.7
Upma $3.65
Bisi Bele Bath $4.50
Kesari Bath $1.95
上面的输出显示了所有必需的项目以及每个项目的价格。使用 ElementTree,您还可以修改 XML 文件。
修改 XML 文件:
可以操作 XML 文件中的元素。为此,您可以使用 set() 函数。让我们首先看看如何向 XML 添加一些东西。
添加到 XML:
以下示例显示了如何在项目描述中添加内容。
例子:
for description in myroot.iter(''description''):
new\_desc = str(description.text)+''wil be served''
description.text = str(new\_desc)
description.set(''updated'', ''yes'')
mytree.write(''new.xml'')
write()函数帮助创建一个新的 xml 文件并将更新的输出写入相同的文件。但是,您也可以使用相同的功能修改原始文件。执行完上述代码后,您将能够看到已创建具有更新结果的新文件。
上图显示了对我们食品的修改描述。要添加新的子标签,您可以使用 SubElement() 方法。例如,如果您想在第一项 Idly 中添加一个新的专业标签,您可以执行以下操作:
例子:
ET.SubElement(myroot\[0\], ''speciality'')
for x in myroot.iter(''speciality''):
new\_desc = ''South Indian Special''
x.text = str(new\_desc)
mytree.write(''output5.xml'')
输出:
如您所见,在第一个食品标签下添加了一个新标签。通过在 [] 括号内指定下标,您可以在任何地方添加标签。现在让我们看一下如何使用此模块删除项目。
从 XML 中删除:
要使用 ElementTree 删除属性或子元素,您可以使用 pop() 方法。此方法将删除用户不需要的所需属性或元素。
例子:
myroot\[0\]\[0\].attrib.pop(''name'', None)
# create a new XML file with the results
mytree.write(''output5.xml'')
输出:
上图显示 name 属性已从 item 标记中删除。要删除完整的标签,您可以使用相同的 pop() 方法,如下所示:
例子:
myroot\[0\].remove(myroot\[0\]\[0\])
mytree.write(''output6.xml'')
输出:
输出显示食品标签的第一个子元素已被删除。如果要删除所有标签,可以使用 clear() 函数,如下所示:
例子:
myroot\[0\].clear()
mytree.write(''output7.xml'')
输出:
执行上述代码时,food 标签的第一个子标签将被完全删除,包括所有子标签。到这里为止,我们一直在使用这个 Python XML 解析器教程中的 xml.etree.ElementTree 模块。现在让我们看看如何使用 Minidom 解析 XML。
xml.dom.minidom 模块:
这个模块基本上是由精通 DOM(文档对象模块)的人使用的。DOM 应用程序通常首先将 XML 解析为 DOM。在 xml.dom.minidom 中,这可以通过以下方式实现:
使用 parse() 函数:
第一种方法是通过提供要解析的 XML 文件作为参数来使用 parse() 函数。例如:
例子:
from xml.dom import minidom
p1 = minidom.parse("sample.xml");
执行此操作后,您将能够拆分 XML 文件并获取所需的数据。您还可以使用此函数解析打开的文件。
例子:
dat=open(''sample.xml'')
p2=minidom.parse(dat)
在这种情况下,存储打开文件的变量作为参数提供给解析函数。
使用 parseString() 方法:
当您想要提供要作为字符串解析的 XML 时,将使用此方法。
例子:
p3 = minidom.parseString(''Using parseString'')
您可以使用上述任何一种方法来解析 XML。现在让我们尝试使用此模块获取数据。
寻找感兴趣的元素:
在我的文件被解析后,如果我尝试打印它,返回的输出会显示一条消息,表明存储解析数据的变量是 DOM 对象。
例子:
dat=minidom.parse(''sample.xml'')
print(dat)
输出:
使用 GetElementByTagName 访问元素:
例子:
tagname= dat.getElementsByTagName(''item'')\[0\]
print(tagname)
如果我尝试使用 GetElementByTagName 方法获取第一个元素,我将看到以下输出:
输出:
请注意,只返回了一个输出,因为为了方便我使用了 [0] 下标,这将在进一步的示例中删除。
要访问属性的值,我必须按如下方式使用 value 属性:
例子:
dat = minidom.parse(''sample.xml'')
tagname= dat.getElementsByTagName(''item'')
print(tagname\[0\].attributes\[''name''\].value)
输出: 早餐
要检索这些标签中存在的数据,您可以使用 data 属性,如下所示:
例子:
print(tagname\[1\].firstChild.data)
输出: 纸 Dosa
您还可以使用 value 属性拆分和检索属性的值。
例子:
print(items\[1\].attributes\[''name''\].value)
输出: 早餐
要打印出我们菜单中可用的所有项目,您可以遍历这些项目并返回所有项目。
例子:
for x in items:
print(x.firstChild.data)
输出:
袖手旁观纸 DOSAUPMA 碧斯百丽沐浴 Kesari 浴
要计算菜单上的项目数,您可以使用 len() 函数,如下所示:
例子:
print(len(items))
输出指定我们的菜单包含 5 个项目。
到这里我们结束了本 Python XML 解析器教程。
最后
文章对你有帮助的话,记得帮作者点点赞
接下来还会持续跟新有关Python的文章,点点关注不迷路。
在python中解析
ADID:4028cb901dd9720a011e1160afbc01a3;网站ID:8a8ee4f720e6beb70120e6d8e08b0002;用户名:5082a05c-015e-4266-9874-5dc6262da3e0
我只需要adId,siteId和userId的值.
手段
4028cb901dd9720a011e1160afbc01a3
8a8ee4f720e6beb70120e6d8e08b0002
5082a05c-015e-4266-9874-5dc6262da3e0
所有3个在不同的变量或数组中,以便我可以使用所有三个
解决方法
input=''adId:4028cb901dd9720a011e1160afbc01a3;siteId:8a8ee4f720e6beb70120e6d8e08b0002;userId:5082a05c-015e-4266-9874-5dc6262da3e0'' result={} for pair in input.split('';''): (key,value) = pair.split('':'') result[key] = value print result[''adId''] print result[''siteId''] print result[''userId'']
在python中解析CEST / CET时间
我有这些日期字符串:
Fri Oct 7 16:00:09 CEST 2011
我想将它们转换为UTC。我已经尝试过此实现:
def LocalToUtc(localtime):
return datetime.strptime(localtime,"%a %m %d %H:%M:%S %Z %Y").isoformat() + 'Z'
但是我得到了ValueError
:
ValueError: time data 'Fri Oct 7 16:00:09 CEST 2011' does not match format '%a %m %d %H:%M:%S %Z %Y'
有任何想法吗?
关于在Python中解析非零填充时间戳和python中非零返回该怎么解决的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Python-如何在Python中解析XML?、了解女朋友的心还不如了解Python之在Python中解析和修改XML、在python中解析、在python中解析CEST / CET时间的相关知识,请在本站寻找。
本文标签: