亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 dict_keys 將 dict 列表轉換為 CSV 字符串

使用 dict_keys 將 dict 列表轉換為 CSV 字符串

當年話下 2022-10-25 10:42:41
我正在嘗試將 dict 列表轉換為 lambda 函數的 csv 字符串。我在下面編寫的代碼將數據作為鍵值。我正在嘗試重新編寫它,以便它基于 dict_keys 工作。import ioimport csvoutput = io.StringIO()csvdata = [{"fruit": "apple", "count": "1", "color": "red"},{"fruit": "banana", "count": "2", "color": "yellow"}]writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC)    for i in csvdata:        for key, value in i.items():            writer.writerow([key, value])convertedtocsv = output.getvalue()輸出:'"fruit","apple"\r\n"count","1"\r\n"color","red"\r\n"fruit","banana"\r\n"count" ,"2"\r\n"顏色","黃色"\r\n'fruit  applecount  1 color  redfruit  bananacount  2color  yellow我想要以下格式的數據fruit   count  colorapple   1      redbanana  2      yellow我知道這可以使用 .to_csv 方法在熊貓中實現。但我只是想在沒有熊貓或任何 3rd 方庫的情況下嘗試它。任何幫助表示贊賞。謝謝!
查看完整描述

3 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

csv.DictWriter

csv模塊提供了一個DictWriter最適合我們處理記錄的類,即需要寫入 csv 文件的字典列表

fields = ['fruit', 'count', 'color'] 

writer = csv.DictWriter(output, fieldnames=fields, delimiter='\t')

writer.writeheader()

writer.writerows(csvdata)

print(output.getvalue())


fruit   count   color

apple   1       red

banana  2       yellow


查看完整回答
反對 回復 2022-10-25
?
森欄

TA貢獻1810條經驗 獲得超5個贊

您可以通過首先寫入標題然后為每一行寫入數據來修復它。


writer.writerow(csvdata[0].keys())

for i in csvdata:

    writer.writerow(i.values())


convertedtocsv = output.getvalue()

print(convertedtocsv)


查看完整回答
反對 回復 2022-10-25
?
莫回無

TA貢獻1865條經驗 獲得超7個贊

在序列化程序中工作,我必須將數據作為字符串發送,但作為 csv,我得到了這個轉換,如果它對任何人有幫助的話


to_csv = [

    {'name': 'bob', 'age': 25, 'weight': 200},

    {'name': 'jim', 'age': 31, 'weight': 180},

]


keys = to_csv[0].keys()


result = [list(keys)] + [list(row.values()) for row in to_csv]

# [['name', 'age', 'weight'], ['bob', 25, 200], ['jim', 31, 180]]


str_result = '\n'.join([';'.join(str(val) for val in row) for row in result])

# 'name;age;weight\nbob;25;200\njim;31;180'


查看完整回答
反對 回復 2022-10-25
  • 3 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號