gpt4 book ai didi

python - 如何使用python选择CSV文件中的每第N行

转载 作者:太空宇宙 更新时间:2023-11-04 03:40:32 24 4
gpt4 key购买 nike

我有一个包含数百行的 CSV 文件,我想选择每 3 行并将其导出到一个新的 CSV 文件,新的输出 CSV 文件以选择的第一行命名。

例如在下面的 CSV 文件中....

1980 10 12            
1 2 3 4 5 6 7
4 6 8 1 0 8 6
1981 10 12
2 4 9 7 5 4 1
8 9 3 8 3 7 3

我想选择前 3 行并根据第一行导出到名为“1980 10 12”的新 CSV,然后选择接下来的 3 行并导出到名为“1981 10 12”的新 CSV接下来 3 行的第一行。我想用 python 来做这件事。

最佳答案

使用 csv module , 加上 itertools.islice()每次选择 3 行:

import csv
import os.path
from itertools import islice


with open(inputfilename, 'rb') as infh:
reader = csv.reader(infh)
for row in reader:
filename = row[0].replace(' ', '_') + '.csv')
filename = os.path.join(directory, filename)
with open(filename, 'wb') as outfh:
writer = csv.writer(outfh)
writer.writerow(row)
writer.writerows(islice(reader, 2))

writer.writerows(islice(reader, 2)) 行从读取器获取接下来的 2 行,在写入当前行(带有日期)后将它们复制到写入器 CSV首先到输出文件。

您可能需要调整 csv.reader()csv.writer() 对象的 delimiter 参数;默认是逗号,但您没有指定确切的格式,也许您需要将其设置为 '\t' 选项卡。

如果您使用的是 Python 3,请使用 'r''w' 文本模式打开文件,并设置 newline='' 对于两者; open(inputfilename, 'r', newline='')open(filename, 'w', newline='')

关于python - 如何使用python选择CSV文件中的每第N行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26680453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com