簡體   English   中英

用於列表中的x-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功能有效,但僅在數據行上有效-您未在標題行中使用跳過功能,因此將寫入所有標題。

修復方法是使用1個襯紙,以確保也跳過相應的標題:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM