在python中如何把字典转换为csv

这是我的字典

trans_e_metric_df = {'optimistic': '0.003350970017636684', 'pessimistic': '0.003350970017636684', 'realistic': '0.003350970017636684'}

如何把这个字典在Python中转换成csv文件?

用CSV模板将字典转换为 CSV 文件

可以使用Python的csv模块来实现这一目的。首先,需要将字典转换为列表,然后使用csv.writer()函数将列表写入csv文件。

示例代码:


import csv

# 将字典转换为列表
dict_data = {'optimistic': '0.003350970017636684', 'pessimistic': '0.003350970017636684', 'realistic': '0.003350970017636684'}

data_list = list(dict_data.items())

# 将列表写入csv文件
with open('data.csv', 'w', newline='') as csv_file:
    writer = csv.writer(csv_file)
    writer.writerows(data_list)

“该回答引用ChatGPT”
还请参考下面的方法
可行还望 点击 采纳,感谢:
可以使用pandas库的DataFrame类实现该功能,如下:

import pandas as pd

trans_e_metric_df = {'optimistic': '0.003350970017636684', 
                     'pessimistic': '0.003350970017636684', 
                     'realistic': '0.003350970017636684'}

df = pd.DataFrame(list(trans_e_metric_df.items()), columns=['Metric', 'Value'])

df.to_csv('trans_e_metric.csv', index=False)


这样就可以在当前目录下生成一个名为"trans_e_metric.csv"的csv文件,其内容如下:


Metric,Value
optimistic,0.003350970017636684
pessimistic,0.003350970017636684
realistic,0.003350970017636684

可以使用Python的csv模块来完成这个转换。首先,你需要导入csv模块,然后创建一个csv文件,并使用csv.writer()函数将dict写入到csv文件中,最后使用csv.writerows()函数将字典中的值写入csv文件即可。

安装pandas库:在命令行或终端中运行 pip install pandas
导入pandas库:在代码中添加 import pandas as pd
将字典转换为DataFrame:df = pd.DataFrame.from_dict(trans_e_metric_df, orient='index', columns=['value'])
使用DataFrame的to_csv方法写入csv文件:df.to_csv('trans_e_metric.csv', index=False)

不用导入库,就能写csv文本文件的。

dict_data = {'optimistic': '0.003350970017636684', 'pessimistic': '0.003350970017636684', 'realistic': '0.003350970017636684'}

with open('data.csv', 'a+') as csv:
    for k,v in dict_data.items():
        csv.write(k+','+v+'\n')

如有帮助,请给个采纳。谢谢!

您可以使用pandas库将字典转换为csv文件:

import pandas as pd

trans_e_metric_df = {'optimistic': 0.003350970017636684, 'pessimistic': 0.003350970017636684, 'realistic': 0.003350970017636684}
df = pd.DataFrame(list(trans_e_metric_df.items()), columns=['metric', 'value'])
df.to_csv('trans_e_metric.csv', index=False)

生成的CSV文件名为“trans_e_metric.csv”,第一行为列名。

用pandas,用字典生成dareframe,再转存csv

直接上实现代码:


import pandas as pd

trans_e_metric_df = {'optimistic': '0.003350970017636684', 'pessimistic': '0.003350970017636684',
                     'realistic': '0.003350970017636684'}

df = pd.DataFrame([trans_e_metric_df])

df.to_csv('df.csv', index=False)

print(df)

打印结果:

             optimistic           pessimistic             realistic
0  0.003350970017636684  0.003350970017636684  0.003350970017636684

Process finished with exit code 0

保存的csv文件:

optimistic,pessimistic,realistic
0.003350970017636684,0.003350970017636684,0.003350970017636684

有两种可能,一种是字典中的值按照行进行解析

import pandas as pd

trans_e_metric_df = {'optimistic': '0.003350970017636684', 'pessimistic': '0.003350970017636684',
                     'realistic': '0.003350970017636684'}

df = pd.DataFrame(trans_e_metric_df.items(), columns=['attribute', 'value'])
print(df)
df.to_csv('result.csv', index=False)

另外一种是字典中的值按照列进行解析

import pandas as pd

trans_e_metric_df = {'optimistic': '0.003350970017636684', 'pessimistic': '0.003350970017636684',
                     'realistic': '0.003350970017636684'}

df = pd.DataFrame.from_dict([trans_e_metric_df])
print(df)
df.to_csv('result.csv')


```python
import csv

def dict_to_csv(dict_data, csv_file):
    with open(csv_file, 'w', newline='') as file:
        writer = csv.DictWriter(file, fieldnames=dict_data[0].keys())
        writer.writeheader()
        for data in dict_data:
            writer.writerow(data)

# 示例字典数据
dict_data = [
    {'Name': 'John', 'Age': 25, 'Country': 'USA'},
    {'Name': 'Jane', 'Age': 32, 'Country': 'UK'},
    {'Name': 'Jim', 'Age': 40, 'Country': 'Canada'},
]

# 将字典数据写入CSV文件
dict_to_csv(dict_data, 'example.csv')


```

img