从DictReader写入CSV时出错

2024-09-28 23:02:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

def fillBlanks():

    # There are duplicate fields in the 'HEADERS' list. A better 'HEADERS' list might be:
    # HEADERS = ['ST', 'Year', 'PCT_SHORT', 'PCT_V_SHORT']
    HEADERS =['ST','Year','PCT_SHORT','PCT_V_SHORT','Year','PCT_SHORT','PCT_V_SHORT','Year','PCT_SHORT','PCT_V_SHORT' ]
    fileH = open(outputDir+"PCT_SHORT_V_SHORT.csv", 'rb')
    fileb = open(outputDir+"PCT_SHORT_V_SHOR.csv", 'wb')
    reader = csv.DictReader(fileH, HEADERS,restval=0)

    for row in reader:
      print row

其输出如下:

^{pr2}$

其中0填充以前丢失的字段。在

我该怎么把每一行都写到CSV中呢。我一直在试着用一些类似的东西。在

with(fileb) as out:
  csv_out=csv.writer(out)

csv_out.writerow(['ST','Year','PCT_SHORT','PCT_V_SHORT','Year','PCT_SHORT','PCT_V_SHORT','Year','PCT_SHORT','PCT_V_SHORT','Year','PCT_SHORT','PCT_V_SHORT'])

for row in reader:
  csvwriters.writerow(row)

我出错了!在

sequence expected

我也试过用听写器,但我不太熟悉。我对python很陌生。有没有办法简单地将DictReader的结果行写入一个新的CSV?在


Tags: csvinopenoutyearlistreaderoutputdir
1条回答
网友
1楼 · 发布于 2024-09-28 23:02:00

您对DictWriter对象的描述是正确的。在

csv.DictWriter对象可用于从dict写入csv文件:

with(fileb) as csvfile:
    csv_out = csv.DictWriter(csvfile, fieldnames=HEADERS)

    csv_out.writeheader()

    for row in reader:
        csv_out.writerow(row)

要替换从输入中读入的空白值:

^{pr2}$

相关问题 更多 >