簡體   English   中英

如何使用python將某些csv文件列復制到另一個csv文件中?

[英]how to copy some csv file colums into another csv file with python?

我有一個10列的csv文件,我想將第一,第三和第七個或另一組列復制到一個新的csv文件中。 你能幫助我嗎? 我有這段代碼,但是我無法將其轉換為我的需要。

<code>
def selection( fr=sys.stdin, fw=sys.stdout, delim=';'):
    my_reader = csv.reader(fr, delimiter=delim)
    my_writer = csv.writer(fw, delimiter=delim)
    to_write = [ col for col in zip(*my_reader) if col[0] == 'Nb_doc' ]
    my_writer.writerows(zip(*to_write))
    return
</code>

此代碼僅復制名為“ nb_doc”的列。

也許您可以從中選擇一個字段名稱列表,然后檢查該列的第一個元素是否在其中:

fields = ["Nb_doc", "SomeOtherField1", "SomeOtherField2"]

然后,您的列表理解可能只需要看起來像這樣:

to_write = [ col for col in zip(*my_reader) if col[0] in fields ]

下面將僅復制第一,第三和第七列:

colNums = [0, 2, 6]
to_write = [ col for i, col in enumerate(zip(*my_reader)) if i in colNums ]

暫無
暫無

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

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