簡體   English   中英

將列表導出為CSV或XML,並將每個子列表導出到自己的列中-重新發布

[英]Exporting a list to a CSV or XML and each sublist in its own column - Repost

我敢肯定有一個簡單的方法可以做到這一點,所以就到這里。 我正在嘗試將列表導出到CSV列中。 (基本上,這是另一個程序將能夠使用我生成的數據的方式。)我有一個名為[frames]的組,其中包含[frame001],[frame002],[frame003]等。我想要CSV文件生成的結果將在第一列中包含[frame001]的所有值,在第二列中具有[frame002]的所有值,依此類推。 我以為如果可以將文件另存為CSV,就可以在Excel中進行操作,但是,我認為有一種解決方案,我可以編程以跳過該步驟。

這是到目前為止我嘗試使用的代碼:

import csv

data = [frames]
out = csv.writer(open(filename,"w"), delimiter=',',quoting=csv.QUOTE_ALL)
out.writerow(data)

我也嘗試過:

import csv

myfile = open(..., 'wb')
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
wr.writerow(mylist)

我最近嘗試過:

import csv

data = [frames]
out = csv.writer(open(filename,"w"), delimiter=',',quoting=csv.QUOTE_ALL)
out.writerows(zip(*data))

經過更多研究之后,我實際上需要構建一個XML文件,但是我仍然需要數據順序正確。 也就是說,一列中[frame001]的內容,下一列中[frame002]的內容,等等。所有幀都包含相同數量的信息。

再次感謝您的協助!

這是前兩列的數據示例:[255、0、0、255、0、0、255、0、0、255、0、0、255、0、0、255、0 ,0、255、0、0、255、0、0、255、0、0、255、0、0],[0、171、205、0、171、205、0、171、205、0、171 ,205、0、171、205、0、171、205、0、171、205、0、171、205、0、171、205、0、171、205]

什么時候應該是:

255 0
0   171
0   205
255 0
0   171
0   205
255 0
0   171
0   205
255 0
0   171
0   205
255 0
0   171
0   205
255 0
0   171
0   205
255 0
0   171
0   205
255 0
0   171
0   205
255 0
0   171
0   205
255 0
0   171
0   205

我希望這是有道理的。

您的最后一個解決方案應該可以正常工作。 您遇到什么錯誤?

要轉換為xml,您只需為每個“行”創建一個字典,然后使用此處列出的解決方案之一:將Python字典序列化為XML

XML實際上不是像csv這樣基於行和列的格式。 它是分層的,可能不是存儲行/列數據的最佳格式。 您將需要標簽來指定行和列,如果要將其導入到另一個應用程序中,則需要知道要正確解析的行和列標簽是什么。

第二個應用程序也是用python編寫的嗎? 如果是這樣,只需使用python pickle模塊來序列化2D python列表。 這樣,您的第二個應用程序就可以將其作為2D列表讀回,而無需將其前后組合到csv或xml中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM