python - 使用多个字典在python中编写一个csv文件
问题描述
例如,我有两个字典:
dict1 = {1:[30], 2:[42]}
其中键是产品代码,值是平均销售额
dict2 = {"apple":1, "banana":2}
其中 key 是产品名称,values 是产品密钥。
我想写一个 CSV 文件,这样我就有:
产品名称 | 产品代码 | 平均销售额 |
---|---|---|
“苹果” | 1 | 30 |
“香蕉” | 2 | 42 |
解决这个问题的最佳方法是什么?
解决方案
这是您可以做到的一种方式。我相信也有更好的方法。
import pandas as pd
dict2 = {"apple": 1, "banana": 2}
dict1 = {1: [30], 2: [42]}
df = pd.DataFrame(list(dict1.items()), columns=['product code','average sales'])
df['average sales'] = df['average sales'].str[0] #removing the square brackets
df2 = pd.DataFrame(list(dict2.items()), columns=['product name','xx'])
df3 = pd.concat([df,df2],axis=1).iloc[:, 0:3] #taking only the first 3 columns
print(df3)
df3.to_csv('file.csv', index=False)
推荐阅读
- c++ - 解压缩连接的 zlib 流而不读取下一个字节
- c++ - 我怎样才能让线程继续并启动其他功能 - C++ with OpenMP?
- ios - IOS - 无法构建 gem 原生扩展
- python - 使用 ERPNext 进行快速 ERP 开发
- javascript - 如何将数据库中的数据应用于 Three.js 交互式对象
- javascript - 将填充输出转换为实体模式(键/值)
- python - 如何在一个查询中从 3 个不同的表中检索所有数据?
- java - 排序算法,数组,最小数字到最大数字?
- text - 将多行文本插入 Google Big Query
- node.js - DynamoDB getItem 调用未给出响应