python 超大XML转成csv文件
时间: 2023-05-14 21:05:23 浏览: 219
可以使用Python的xml.etree.ElementTree模块来解析XML文件,然后将数据写入CSV文件。以下是一个简单的代码示例:
```python
import csv
import xml.etree.ElementTree as ET
# 解析XML文件
tree = ET.parse('input.xml')
root = tree.getroot()
# 打开CSV文件并写入数据
with open('output.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
# 写入表头
header = []
for child in root[0]:
header.append(child.tag)
writer.writerow(header)
# 写入数据
for child in root:
row = []
for subchild in child:
row.append(subchild.text)
writer.writerow(row)
```
这个代码可以将名为"input.xml"的XML文件转换为名为"output.csv"的CSV文件。
相关问题
python XML转成csv文件
可以使用Python中的xml和csv模块来实现将XML文件转换成CSV文件的功能。以下是一个简单的代码示例:
```python
import xml.etree.ElementTree as ET
import csv
# 打开XML文件并解析
tree = ET.parse('example.xml')
root = tree.getroot()
# 打开CSV文件并写入表头
with open('example.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Name', 'Age', 'Gender'])
# 遍历XML文件中的每个元素并将其写入CSV文件
for person in root.findall('person'):
name = person.find('name').text
age = person.find('age').text
gender = person.find('gender').text
writer.writerow([name, age, gender])
```
这个代码示例假设XML文件的格式如下:
```xml
<people>
<person>
<name>John</name>
<age>30</age>
<gender>Male</gender>
</person>
<person>
<name>Jane</name>
<age>25</age>
<gender>Female</gender>
</person>
</people>
```
它将生成一个名为example.csv的CSV文件,其中包含以下内容:
```
Name,Age,Gender
John,30,Male
Jane,25,Female
```
python中xml解析成csv文件
可以使用Python内置的xml.etree.ElementTree模块来解析XML文件,然后使用csv模块将解析后的数据写入CSV文件。
以下是一个示例代码:
```python
import xml.etree.ElementTree as ET
import csv
# 解析XML文件
tree = ET.parse('example.xml')
root = tree.getroot()
# 创建CSV文件
with open('example.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
# 写入CSV文件头
writer.writerow(['name', 'age', 'gender'])
# 遍历XML文件中的每个person节点
for person in root.findall('person'):
# 读取person节点中的数据
name = person.find('name').text
age = person.find('age').text
gender = person.find('gender').text
# 将数据写入CSV文件
writer.writerow([name, age, gender])
```
假设我们有一个XML文件名为example.xml,内容如下:
```xml
<people>
<person>
<name>John</name>
<age>30</age>
<gender>Male</gender>
</person>
<person>
<name>Jane</name>
<age>25</age>
<gender>Female</gender>
</person>
</people>
```
运行上述代码后,就会生成一个CSV文件example.csv,内容如下:
```
name,age,gender
John,30,Male
Jane,25,Female
```
阅读全文