gpt4 book ai didi

Python - 遍历 CSV 行并创建 XML 字符串

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:41 24 4
gpt4 key购买 nike

我有一个 CSV 文件,其中包含一个标题行,后跟可能无限数量的带值的行。例如:

FieldA,FieldB,FieldC,FieldD
1,asdf,2,ghjk
3,qwer,4,yuio
5,slslkd,,aldkjslkj

我需要为每一行创建一个类 XML 字符串,其中元素标记为列名,每个元素中的信息是单元格的值。以上面为例,如果我遍历三行中的每一行,我最终会得到这三个字符串:

<FieldA>1</FieldA><FieldB>asdf</FieldB><FieldC>2</FieldC><FieldD>ghjk</FieldD>

<FieldA>3</FieldA><FieldB>qwer</FieldB><FieldC>4</FieldC><FieldD>yuio</FieldD>

<FieldA>5</FieldA><FieldB>slslkd</FieldB><FieldD>aldkjslkj</FieldD>

我目前的做法是:

for row in r:
if row['FieldA']:
fielda = '<FieldA>{0}</FieldA>'.format(row['FieldA'])
else:
fielda = ''

if row['FieldB']:
fieldb = '<FieldB>{0}</FieldB>'.format(row['FieldB'])
else:
fieldb = ''

if row['FieldC']:
fieldc = '<FieldC>{0}</FieldC>'.format(row['FieldC'])
else:
fieldc = ''

if row['FieldD']:
fieldd = '<FieldD>{0}</FieldD>'.format(row['FieldD'])
else:
fieldd = ''

# Compile the string
final_string = fielda + fieldb + fieldc + fieldd

# Process further
do_something(final_string)

当它遍历每一行时,这会创建适当的字符串,然后我可以将其传递以进行进一步处理。

有没有更好的方法来实现我想要的,或者我的方法是最好的方法?我的猜测是有更好、更 Pythonic 和更有效的方法,但我是 Python 的新手。

谢谢。

最佳答案

稍微修改了代码,解决了我遇到的问题。事实证明这是非常微不足道的:

with open(csv_file) as f:
for row in csv.DictReader(f):
top = Element('event')
for k, v in row.items():
child = SubElement(top, k)
child.text = v
print tostring(top)

感谢您的帮助!

关于Python - 遍历 CSV 行并创建 XML 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31036961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com