我想從我擁有的字典中制作一個 excel 檔案。它只是一個字典,包含有關影像的資訊,例如大小、多少段、多少個單詞等。
假設字典是:
{'Screenshot_1.jpg': {'SIZE': 214649,
'HEIGHT': 664,
'WIDTH': 1351,
'PARAGRAPHS': 3,
'WORDS': 427,
'Paragraph1': {'Words': 28},
'Paragraph2': {'Words': 0},
'Paragraph3': {'Words': 0}},
'Screenshot_2.jpg': {'SIZE': 168279,
'HEIGHT': 664,
'WIDTH': 1348,
'PARAGRAPHS': 2,
'WORDS': 1839,
'Paragraph1': {'Words': 57},
'Paragraph2': {'Words': 9}}}
我用來將此字典提取到 csv/excel 檔案的代碼是:
import pandas as pd
import csv
dict1 = {'Screenshot_1.jpg': {'SIZE': 214649, 'HEIGHT': 664, 'WIDTH': 1351, 'PARAGRAPHS': 3, 'WORDS': 427, 'Paragraph1': {'Words': 28}, 'Paragraph2': {'Words': 0}, 'Paragraph3': {'Words': 0}}, 'Screenshot_2.jpg': {'SIZE': 168279, 'HEIGHT': 664, 'WIDTH': 1348, 'PARAGRAPHS': 2, 'WORDS': 1839, 'Paragraph1': {'Words': 57}, 'Paragraph2': {'Words': 9}}}
df = pd.DataFrame(data=dict1, index=[0])
df = (df.T)
print(df)
with open('output.csv', 'w') as output:
writer = csv.writer(output)
for key, value in dict1.items():
writer.writerow([key, value])
它運作良好,但它給了我這個
uj5u.com熱心網友回復:
鑒于您想要指定的那些列,您可以執行以下操作:
df = pd.DataFrame(data=d).T
df = df.loc[:,"SIZE":"PARAGRAPHS"]
df.to_csv("output.csv")
如果你想要它的excel,你可以將最后一行替換為
df.to_excel('output.xlsx')
uj5u.com熱心網友回復:
如果你想洗掉列,試試這個,只需在下拉串列中添加鍵名
import pandas as pd
data = {'Screenshot_1.jpg': {'SIZE': 214649, 'HEIGHT': 664, 'WIDTH': 1351, 'PARAGRAPHS': 3, 'WORDS': 427, 'Paragraph1': {'Words': 28}, 'Paragraph2': {'Words': 0}, 'Paragraph3': {'Words': 0}}, 'Screenshot_2.jpg': {'SIZE': 168279, 'HEIGHT': 664, 'WIDTH': 1348, 'PARAGRAPHS': 2, 'WORDS': 1839, 'Paragraph1': {'Words': 57}, 'Paragraph2': {'Words': 9}}}
dropList = ['Paragraph1','Paragraph2']
for k in data.keys():
for j in dropList:
data[k].pop(j)
pdDict = pd.DataFrame(data)
pdDict = pdDict.T
pdDict.to_csv("file.csv")
供excel使用pdDict.to_excel("file.xlsx")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431538.html
下一篇:驗證多個子陣列的內容PHP
