提取行并保存为多个CSV文件

2 投票
2 回答
1588 浏览
提问于 2025-04-17 01:25

我正在用Python解决一个问题:我有一个表格(csv格式),我想从中提取连续的行,比如先提取第1行和第2行,然后是第1行和第3行,再然后是第1行和第4行,依此类推。提取出来的数据需要再次保存为csv文件,并且文件名要根据要提取的第2行的第一个字符串来命名(2, 3, 4, 5,...)。我的问题是,Python是否适合做这个?有没有相关的示例代码可以参考?

非常感谢任何帮助和建议!

Claude S.

+ 说明:

感谢大家的反馈,其实我尝试使用csv模块来打开和读取表格,使用的代码是:

import csv
import sys

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

现在我不太确定怎么选择和写入需要的行……抱歉问了个初学者的问题。

Claude S.

2 个回答

0

我觉得你不一定需要用到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)
1
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)

希望这对你有帮助

撰写回答