Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将xml文件数据导入csv?_Python_Python 3.x - Fatal编程技术网

Python 如何将xml文件数据导入csv?

Python 如何将xml文件数据导入csv?,python,python-3.x,Python,Python 3.x,我正在将下面的xml文件数据导入csv文件 样本名称 1234567891 样品_name@example.com 街道1号线 城市名称 AE 12345 样本名称1 1234567891 样品_name1@example.com 当前地址 洛杉矶 加利福尼亚州 56666 . . . . 尝试使用以下代码将数据导入csv: import csv import xml.etree.ElementTree as ET tree = ET.parse("C:/Users/Public/Docu

我正在将下面的xml文件数据导入csv文件


样本名称
1234567891
样品_name@example.com
街道1号线
城市名称
AE
12345
样本名称1
1234567891
样品_name1@example.com
当前地址
洛杉矶
加利福尼亚州
56666
.
.
.
.
尝试使用以下代码将数据导入csv:

import csv
import xml.etree.ElementTree as  ET
tree = ET.parse("C:/Users/Public/Documents/sam.xml")
root = tree.getroot()
with open('C:/Users/Public/Documents/outp.csv', 'w') as f:
    fieldnames=['Id', 'Name', 'PhoneNumber','EmailAddress','StreetLine1','City',
                'StateCode','PostalCode']
    w= csv.DictWriter(f, fieldnames)
    w.writeheader()
    w.writerows(e.attrib for e in root.findall('.//file'))
我使用Python3在Jupyter(Anaconda)笔记本中运行上述代码

没有数据复制到csv文件中。只有列/字段名填充到csv文件中

请让我知道为什么数据没有填充到csv中。 (在excel中打开xml文件时,数据是正确的。)

预期产量为

Id Name电话号码EmailAddress StreetLine1城市州代码PostalCode
100样本名称1234567891样本_name@example.com街道1号线城市名称AE 12345
101样本名称1234567891样本_name1@example.com当前地址加利福尼亚州洛杉矶56666
下午好

我用XML和CSV做了很多类似的文件工作。将CSV转换成XML并不可怕,但您所追求的将要求您创建自己的数据结构。您提供给我们的示例XML来自以下网站:

这些家伙真的帮你解决了这个问题!在上面粘贴的示例XML之后向下滚动页面,您将找到python代码

祝你的文件转换顺利

伊桑J.下午好

我用XML和CSV做了很多类似的文件工作。将CSV转换成XML并不可怕,但您所追求的将要求您创建自己的数据结构。您提供给我们的示例XML来自以下网站:

这些家伙真的帮你解决了这个问题!在上面粘贴的示例XML之后向下滚动页面,您将找到python代码

祝你的文件转换顺利

Ethan J.

您是否尝试过
w.writerows(e.attrib.text代表root.findall('.//文件'))中的e)
您是否尝试过
w.writerows(e.attrib.text代表root.findall('.//文件'))