使用python将xml转成excel
时间: 2023-09-20 22:08:38 浏览: 360
可以使用Python的openpyxl和xml.etree.ElementTree库来将XML文件转换为Excel文件。首先用xml.etree.ElementTree解析XML文件,然后用openpyxl创建一个Excel工作簿,并在其中创建一个工作表。接下来,将解析的XML数据写入Excel工作表中并保存Excel文件。以下是示例代码:
```python
import xml.etree.ElementTree as ET
from openpyxl import Workbook
# 解析XML文件
tree = ET.parse('input.xml')
root = tree.getroot()
# 创建工作簿和工作表
wb = Workbook()
ws = wb.active
# 将XML数据写入Excel工作表中
for i, child in enumerate(root):
for j, subchild in enumerate(child):
ws.cell(row=i+1, column=j+1, value=subchild.text)
# 保存Excel文件
wb.save('output.xlsx')
```
这里的input.xml文件是需要转换的XML文件,output.xlsx是生成的Excel文件,可以根据自己实际情况修改文件名和路径。
相关问题
python实现提取xml内容并保存到excel中的方法(python将xml写入excel)
要实现提取XML内容并保存到Excel中,可以使用Python中的xml.etree.ElementTree模块和openpyxl模块。以下是实现的步骤:
1. 导入所需的模块:
```python
import xml.etree.ElementTree as ET
from openpyxl import Workbook
```
2. 加载XML文件:
```python
tree = ET.parse('input.xml')
root = tree.getroot()
```
3. 创建Excel工作簿和工作表:
```python
wb = Workbook()
sheet = wb.active
```
4. 获取XML中的数据并写入Excel:
```python
row_num = 1
for child in root:
for sub_child in child:
sheet.cell(row=row_num, column=1).value = sub_child.tag
sheet.cell(row=row_num, column=2).value = sub_child.text
row_num += 1
```
5. 保存Excel文件:
```python
wb.save('output.xlsx')
```
完整代码示例:
```python
import xml.etree.ElementTree as ET
from openpyxl import Workbook
tree = ET.parse('input.xml')
root = tree.getroot()
wb = Workbook()
sheet = wb.active
row_num = 1
for child in root:
for sub_child in child:
sheet.cell(row=row_num, column=1).value = sub_child.tag
sheet.cell(row=row_num, column=2).value = sub_child.text
row_num += 1
wb.save('output.xlsx')
```
请确保已安装所需的openpyxl模块,并将input.xml替换为您要提取数据的XML文件路径。运行代码后,将在同级目录下生成一个名为output.xlsx的Excel文件,其中包含从XML提取的数据。
利用python将xml文件转换成xlsx文件
你可以使用Python中的pandas库将XML文件转换为XLSX文件。下面是一个简单的示例代码:
```python
import pandas as pd
# 读取XML文件
xml_data = pd.read_xml('example.xml')
# 将数据写入XLSX文件
xml_data.to_excel('example.xlsx', index=False)
```
这段代码会读取名为example.xml的XML文件,并将其转换为DataFrame对象。接着,使用to_excel()方法将数据写入名为example.xlsx的XLSX文件中。其中,index=False参数用于指定不写入行索引。
阅读全文