如何将Python Dict写成CSV列?(键和值列)

219 阅读1分钟

Write Python Dict to CSV Columns

方法 1: CSV 编写器

要在CSV文件中把Python字典写成一列,即每行一个*(key, value)*对,使用下面三个步骤。

  • 以写作模式打开文件,并使用newline='' 参数来防止空行。
  • 创建一个CSV写入器对象。
  • 遍历字典中的(键,值)对,使用 [dict.items()](https://blog.finxter.com/python-dict-items-method/)方法遍历字典中的(key, value)对。
  • 通过在writer.writerow() 方法中传递,一次写一个(key, value) 元组

下面是代码的例子。

import csv


# Create a dictionary of key-value pairs
data = {'A':42, 'B':41, 'C':40}

# Open the file in writing mode (no blank lines)
with open('my_file.csv', 'w', newline='') as f:

    # Create a CSV writer object
    writer = csv.writer(f)

    # Write one key-value tuple per row
    for row in data.items():
        writer.writerow(row)

你的输出CSV文件*(列dict*)看起来像这样。

例子 2: Vanilla Python

用 dict 的键作为第一列,dict 的值作为第二列,把 dictionary 写成 CSV 文件的最短、最简洁、最容易的方法是使用正常的 Python 文件处理。

  • 首先,以书写模式打开文件。
  • 第二,遍历所有 (key, value) 对。
  • 第三,使用标准的Python文件 写入方法在一行中写入每个键值对。

下面是具体的例子。

import csv


data = {'A':42, 'B':41, 'C':40}

with open('my_file.csv', 'w') as f:
    for key, value in data.items():
        f.write(f'{key},{value}\n')
        

同样,产生的CSV文件*(列dict*)看起来像这样。

如果你在列 CSV 文件中需要一个头,你可以在开始迭代 dictionary 之前再额外调用file.write('Col_A,Col_B\n') 来完成。