Python 如何将字典写入csv文件?

Python 如何将字典写入csv文件?,python,dictionary,Python,Dictionary,字典如下所示 res = {'Qatar': ['68.61994212', '59.03245947', '55.10905996'], 'Burundi': ['0.051012487', '0.048311391', '0.046681908'], 'Japan': ['9.605144835', '9.247590692', '9.542878595', ]} 我想删除csv文件中的“[]” 我想得到输出csv作为 卡塔尔68.61994212 59.03245947 55.10905

字典如下所示

res = {'Qatar': ['68.61994212', '59.03245947', '55.10905996'],
'Burundi': ['0.051012487', '0.048311391', '0.046681908'],
'Japan': ['9.605144835', '9.247590692', '9.542878595', ]}
我想删除csv文件中的“[]”

我想得到输出csv作为

卡塔尔68.61994212 59.03245947 55.10905996

布隆迪0.051012487 0.048311391 0.046681908


日本9.605144835 9.247590692 9.542878595

请尝试以下代码。您得到“[]”的原因是您可能试图按原样编写字典的val,这是一个列表。相反,您需要检索列表中的值,然后将其写入

import csv

res = {'Qatar': ['68.61994212', '59.03245947', '55.10905996'],
'Burundi': ['0.051012487', '0.048311391', '0.046681908'],
'Japan': ['9.605144835', '9.247590692', '9.542878595', ]}

with open('./result.csv', 'w') as res_file:
    csv_writer = csv.writer(res_file)
    for k, v in res.items():
        res_val = [x for x in v]
        res_val.insert(0, k)
        csv_writer.writerow(res_val)
输出:

文件result.csv的内容如下:

Burundi,0.051012487,0.048311391,0.046681908
Japan,9.605144835,9.247590692,9.542878595
Qatar,68.61994212,59.03245947,55.10905996

请尝试下面的代码。您得到“[]”的原因是您可能试图按原样编写字典的val,这是一个列表。相反,您需要检索列表中的值,然后将其写入

import csv

res = {'Qatar': ['68.61994212', '59.03245947', '55.10905996'],
'Burundi': ['0.051012487', '0.048311391', '0.046681908'],
'Japan': ['9.605144835', '9.247590692', '9.542878595', ]}

with open('./result.csv', 'w') as res_file:
    csv_writer = csv.writer(res_file)
    for k, v in res.items():
        res_val = [x for x in v]
        res_val.insert(0, k)
        csv_writer.writerow(res_val)
输出:

文件result.csv的内容如下:

Burundi,0.051012487,0.048311391,0.046681908
Japan,9.605144835,9.247590692,9.542878595
Qatar,68.61994212,59.03245947,55.10905996
试试这个: [k,+元组[k]表示k在res中]

您将获得这样的元组列表,您可以将其写入csv文件:

[‘布隆迪’、‘0.051012487’、‘0.048311391’、‘0.046681908’、‘日本’、‘9.605144835’、‘9.247590692’、‘9.542878595’、‘卡塔尔’、‘68.61994212’、‘59.03245947’、‘55.10905996’] 试试这个: [k,+元组[k]表示k在res中]

您将获得这样的元组列表,您可以将其写入csv文件:

[‘布隆迪’、‘0.051012487’、‘0.048311391’、‘0.046681908’、‘日本’、‘9.605144835’、‘9.247590692’、‘9.542878595’、‘卡塔尔’、‘68.61994212’、‘59.03245947’、‘55.10905996’]

除了答案之外,如果允许您使用,那么您可以使用panda-s to_csv功能在一行中创建csv

import pandas as pd

df = pd.DataFrame(res)
df.to_csv('my_result.csv', index=False)
除了回答之外,如果允许您使用,那么您可以使用panda-s to_csv功能只在一行中创建csv

import pandas as pd

df = pd.DataFrame(res)
df.to_csv('my_result.csv', index=False)
熊猫会这样做:

import pandas as pd

res = {'Qatar': ['68.61994212', '59.03245947', '55.10905996'],
       'Burundi': ['0.051012487', '0.048311391', '0.046681908'],
       'Japan': ['9.605144835', '9.247590692', '9.542878595', ]}

df = pd.DataFrame.from_dict(res, orient='index')
df.to_csv('res.csv', header=False)
确保在创建数据帧时使用orient='index',以便在csv中获得正确的行索引

Qatar,68.61994212,59.03245947,55.10905996
Burundi,0.051012487,0.048311391,0.046681908
Japan,9.605144835,9.247590692,9.542878595
熊猫会这样做:

import pandas as pd

res = {'Qatar': ['68.61994212', '59.03245947', '55.10905996'],
       'Burundi': ['0.051012487', '0.048311391', '0.046681908'],
       'Japan': ['9.605144835', '9.247590692', '9.542878595', ]}

df = pd.DataFrame.from_dict(res, orient='index')
df.to_csv('res.csv', header=False)
确保在创建数据帧时使用orient='index',以便在csv中获得正确的行索引

Qatar,68.61994212,59.03245947,55.10905996
Burundi,0.051012487,0.048311391,0.046681908
Japan,9.605144835,9.247590692,9.542878595

可能重复的@DIG然后将此答案标记为正确答案是有意义的。@DIG然后将此答案标记为正确答案是有意义的。