簡體   English   中英

提取行並保存到多個csv文件

[英]Extract rows and save to multiple csv files

我正在嘗試使用Python解決以下問題:我有一張表(csv),我要從中連續提取第1 + 2行,然后是第1 + 3行,然后是第1 + 4行,依此類推。應保存提取內容再次作為csv文件,並根據要提取的第二行中的第一個字符串命名(2、3、4、5,...)。 現在我的問題-python是執行此操作的正確工具,並且有可用的示例代碼嗎?

在此先非常感謝您的幫助和提示!

克勞德·S。

+澄清:

感謝您的反饋-實際上,我嘗試使用csv模塊使用以下代碼打開和讀取表:

import csv
import sys

f = open(sys.argv[1], 'rt')
try:
    reader = csv.reader(f)
    for row in reader:
        print row

現在,我不確定如何選擇和寫入所需的行...對於初學者來說,這很抱歉。 克勞德·S。

fname = argv[1]
with open(fname) as i:
    reader = csv.reader(i)

    first_row = next(reader)
    for cur_row in reader:
        out_name = cur_row[0]
        with open(out_name, 'wb') as o:
            writer = csv.writer(o)
            writer.writerow(first_row)
            writer.writerow(cur_row)

希望能幫助到你

我不認為您需要csv模塊(除非第一列可以包含引號和逗號)。 如果您的文件格式很簡單,請使用split。

fname = argv[1]
with open(fname) as f:
    header = f.readline()
    # parse the rest of the lines. 
    for line in f:
        out_name = line.split(',')[0]
        with open(out_name, 'wb') as o:
            o.write(header)
            o.write(line)

暫無
暫無

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

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