Python - 通过读取 XML 产生 file.write 中的 "number:" 个单词来创建 XML
Python - creating XML by reading XML resulting "number:" word in file.write
我是 Python 的新手。我正在尝试使用以下代码生成 xml 文件:
file = open("filename.xml","w")
workbook = xlrd.open_workbook('data.xlsx')
worksheet = workbook.sheet_by_name('sheet1')
value = worksheet.cell(1, 2)
file.write("<raml xmlns="'"raml21.xsd"'" version="'"2.1"'">")
file.write(" <cmData scope="'"all"'" type="'"plan"'">")
file.write(" <managedObject class="'"BTS"'" distName="'"ID-%s"'" operation="'"create"'" version="'"1891"'">" % str(value))
但是输出是这样的:
<managedObject version="1891" operation="create" distName="ID-number:1900.0" class="BTS">
cell(1,2)
的值应该是1900。
为什么文件中的输出是"number:1900.0"?我只期待它 1900。我该如何解决?
您正在使用方法 cell(rowx, colx)
,其中 returns 一个 Cell
对象。
这就是为什么 str(value)
在你的代码中 returns number:1900.0
.
您要使用方法cell_value(rowx, colx)
,其中returns单元格的值。但是您仍然会得到一个浮点数。所以如果你希望值是整数,你可以这样转换它:
value = worksheet.cell_value(1, 2)
id = int(value)
或者,您可以使用 Cell
对象的属性 value
。
例如:
value = worksheet.cell(1, 2).value
id = int(value)
我是 Python 的新手。我正在尝试使用以下代码生成 xml 文件:
file = open("filename.xml","w")
workbook = xlrd.open_workbook('data.xlsx')
worksheet = workbook.sheet_by_name('sheet1')
value = worksheet.cell(1, 2)
file.write("<raml xmlns="'"raml21.xsd"'" version="'"2.1"'">")
file.write(" <cmData scope="'"all"'" type="'"plan"'">")
file.write(" <managedObject class="'"BTS"'" distName="'"ID-%s"'" operation="'"create"'" version="'"1891"'">" % str(value))
但是输出是这样的:
<managedObject version="1891" operation="create" distName="ID-number:1900.0" class="BTS">
cell(1,2)
的值应该是1900。
为什么文件中的输出是"number:1900.0"?我只期待它 1900。我该如何解决?
您正在使用方法 cell(rowx, colx)
,其中 returns 一个 Cell
对象。
这就是为什么 str(value)
在你的代码中 returns number:1900.0
.
您要使用方法cell_value(rowx, colx)
,其中returns单元格的值。但是您仍然会得到一个浮点数。所以如果你希望值是整数,你可以这样转换它:
value = worksheet.cell_value(1, 2)
id = int(value)
或者,您可以使用 Cell
对象的属性 value
。
例如:
value = worksheet.cell(1, 2).value
id = int(value)