python将dictreader写入csv文件

标签 python csv python-2.4

我正在使用 python 2.4 并尝试将 unix last 命令的值导出到 csv 文件。我不知道如何让它将每一行实际写入 csv 文件,我们将不胜感激!

import csv

def check(user,logfile,name):
    logfile.write('********' + name + '*********\n')
    g = subprocess.Popen(["last",user], stdout=subprocess.PIPE)
    stdout, stderr = g.communicate()
    reader = csv.DictReader(stdout.splitlines(),
                            delimiter=' ', skipinitialspace=True,
                            fieldnames=['id', 'pts', 'cpu',
                                        'day', 'month', 'date',
                                        'time', 'dash', 'off',
                                        'loggedin', 'test1', 'test2'])

    writer = csv.writer(open('dict.csv','wb'))
    for row in reader:
        writer.writerow(row)

最佳答案

您需要使用 csv.DictWriter() 代替(具有匹配的字段名),或者将字典行转换为序列:

writer.row([value for key, value in sorted(row.items())])

例如,将输出按键排序的值。

使用 DictWriter 可以像这样简单:

writer = csv.DictWriter(open('dict.csv','wb'), fieldnames=reader.fieldnames)

这将按照您的 DictReader() 类所期望的顺序写入完全相同的字段。

关于python将dictreader写入csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16794875/

相关文章:

python - 如何使用预训练模型的第一层提取 Keras 模型内的特征(函数式 API)

python - djangorest_framework自定义异常错误

python - 在 python 中播放时更改歌曲的 bpm

来自外部部分的 Python ConfigParser 插值

python - 字符串到日期 - 格式字符串问题

python - 使用python从pyudev获取设备路径

python - 具有相同行数的两个 CSV 文件按列串联

c++跳过csv文件的第一行

csv - 使用 sed 填充 CSV 中的空白字段

python - 在 python 中高效写入 Compact Flash