for x in List - csv 读/写

for x in List - csv read / write

我在这里有点挣扎。我有以下代码(在其他一些 python 专家的帮助下):

skip = [11, 15, 30, 31, 32, 34, 41, 45, 55, 58, 59, 62, 64, 65, 66, 67, 68, 69,
            71, 72, 73, 74, 75, 76, 77, 78, 79, 80]
    #skip += range(64, 70)
    #skip += range(71, 81)

    with open(outname, 'r') as r, open('import2SFDC.csv', 'w') as w:
        reader = csv.reader(r)
        writer = csv.writer(w, delimiter=',', quoting=csv.QUOTE_ALL)
        header = next(reader)    # "next" is the first row in this case, i.e. the header row
        header.append('SFDCID')  # Add the new column
        writer.writerow(header)  # write out the new header
        for row in reader:
            new_row = [v for k, v in enumerate(row) if k not in skip]
            new_row.append(args.SFDCID)
            writer.writerow(new_row)

无论出于何种原因,跳过 skip 变量中定义的列都不起作用。我确定这是显而易见的事情,但我正在研究代码并尝试修复它几个小时,我就是无法让它工作。

非常感谢任何帮助。

谢谢

我认为 skip 功能有效,但仅适用于数据行 - 您没有在 header 行中使用跳过,因此所有 header 都将是书面。

修复是 1 行以确保相应的 headers 也被跳过:

...
header = next(reader)
header = [v for k, v in enumerate(header) if k not in skip]
...