首页 > 解决方案 > 使用 python csv 模块 dictwriter 编辑 CSV 文件时遇到问题

问题描述

我正在制作一个程序,它从表单中读取数据,将其存储到字典中,然后使用 csv.DictWrite 将数据附加到 csv 文件中。我运行该程序,但我的 data.csv 文件没有任何反应。主程序和数据文件在同一个工作目录下,同时安装了 csvmodule。这是代码,

def response_to_csv(data):
#append w/ dictionary -> more efficiewn
with open('data.csv', 'a', newline = '') as csvfile:
    fieldnames = ['date', 'first', 'last', 'age', 'email', 'country',
             'city/town', 'Uni Student', 'Instagram','Followers','Affiliate'
    ]
    writer = csv.DictWriter(csvfile, fieldnames = fieldnames)
    writer.writeheader()
    writer.writerow({
        'date' : data['date'],
        'first': data['first'],
        'last' : data['last'],
        'age'  : data['age'],
        'email': data['email'],
      'country': data['country'],
    'city/town': data['city/town'],
  'Uni Student': data['Uni Student'],
    'Instagram': data['Instagram'],
    'Followers': data['Followers'],
    'Affiliate': data['Affiliate']
    })

这是数据字典

data = {
    'date' : date,
    'first': fname,
    'last' : lname,
    'age'  : age,
    'email': email,
    'country': country,
    'city/town': city_town,
    'Uni Student': is_Uni_Student,
    'Instagram': insta,
    'Followers': ig_followers,
    'Affiliate': affiliation
    }
response_to_csv(data)

标签: pythoncsvdictionarywriter

解决方案


import csv
data = {
'date' : '202001',
'first': 'Bob',
'last' : 'Smith',
'age'  : 45,
'email': 'bsmith@gmail.com',
'country': 'USA',
'city/town': 'New York',
'Uni Student': 1,
'Instagram': '@bsmith',
'Followers': 45678,
'Affiliate': 'Red Bull'
    }

def response_to_csv(data):
    fieldnames = ['date', 'first', 'last', 'age', 'email', 'country',
                 'city/town', 'Uni Student', 'Instagram','Followers','Affiliate'
        ]
    with open('data.csv', 'a', newline = '') as csvfile:
        writer = csv.DictWriter(csvfile, fieldnames = fieldnames)
        writer.writeheader()
        writer.writerow(data)

response_to_csv(data)

推荐阅读