将CSV从写入一列更改为写入多列

guz6ccqo  于 11个月前  发布在  其他
关注(0)|答案(3)|浏览(79)

我试图写的项目,我饲料我的代码与for循环到一个csv。我能够写它到一个csv,但它抛出的一切到一个单一的列像这样... The output of my code。我已经实现了这一点使用以下代码:

workspace = arcpy.mapping.MapDocument("CURRENT")

with open (arcpy.GetParameterAsText(0),"wb") as csv_file:
writer = csv.writer(csv_file, delimiter = ',')
for textElement in arcpy.mapping.ListLayoutElements(workspace, "TEXT_ELEMENT","elem*"):
    writer.writerow([textElement.name],)
    writer.writerow([textElement.text],)

字符串
我遇到的问题是,我想把每个新的“elem”示例推到一个新的列中。如果有人能帮我写一些代码来创建一个看起来像这样的csv. desired csv,我会非常感激。

ztigrdn8

ztigrdn81#

我在一段时间前发现了这个例子:

import csv

with open(newfilePath, "w") as f:
    writer = csv.writer(f)
    for row in rows:
        writer.writerow(row)

字符串
我经常在Pandas身上工作,这对我来说很好!

gstyhher

gstyhher2#

我创建了一个所有元素(elem1,elem2,elem3)和内容的字典。然后我只是将字典写入csv,而不是写入每个单独的元素和内容。我使用以下代码:

dic = {}
workspace = arcpy.mapping.MapDocument(r"path.mxd")

for textElement in arcpy.mapping.ListLayoutElements(workspace, "TEXT_ELEMENT", "elem*"):
    name = ''.join(textElement.name)
    content = ''.join(textElement.text)

    dic[str(name)] = str(content)
print dic

with open(r'test.csv', 'wb') as csv_file:
    writer = csv.writer(csv_file, delimiter = ',')
     for item in dic.items():
         writer.writerow(item)

字符串

i2loujxw

i2loujxw3#

看起来你需要做:

writer.writerow([textElement.name,textElement.text])

字符串

相关问题