gpt4 book ai didi

python - 将包含一些标量和一些数组值的字典写入 csv

转载 作者:太空宇宙 更新时间:2023-11-03 21:13:57 24 4
gpt4 key购买 nike

我有一个类似于以下示例的字典:

dict = {key1: value1, key2: [arrayValue1, arrayValue2]}

我想将其写入 CSV 文件,格式如下:

key1     key2
value1 arrayValue1
arrayValue2

通过搜索类似的问题,我找到了如果所有值都是标量或数组时编写字典的方法,但如果值是两者的组合,我还没有找到答案。

我有以下用于写入标量值的代码:

with open(filename, 'w') as f:  
w = csv.DictWriter(f, dict.keys())
w.writeheader()
w.writerow(dict)

以及以下用于写入数组值的代码:

with open(filename, "w") as outfile:
writer = csv.writer(outfile)
writer.writerow(dict.keys())
writer.writerows(zip(*dict.values()))

提前致谢。

最佳答案

不要声明名为 dict 的变量,因为它代表我们将在此处使用的 Python 内置函数。相反,使用诸如 dct 之类的东西。

dct = {"key1": "value1", "key2": ["arrayValue1", "arrayValue2"]}

首先,将每个标量放入一个数组中。

myvalues = [ x if isinstance(x, list) else [x] for x in dct.values() ]

接下来,使每个数组与最大数组一样长。用空字符串填充空白。

maxlength = max([len(x) for x in myvalues])
myvalues = [ x + (maxlength - len(x))*[""] for x in myvalues ]

现在您可以重建字典,将其转换为 pandas DataFrame 并将此 DataFrame 保存为 CSV 文件。

import pandas as pd
dct = dict(zip(dct.keys(), myvalues))
df = pd.DataFrame.from_dict(dct)
df.to_csv("your_filename_goes_here.csv", index=False)

然后你就有了你的文件。

关于python - 将包含一些标量和一些数组值的字典写入 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54852340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com