私のソースデータはTSVファイルにあり、6列で200万行を超えています。
これが私が達成しようとしていることです:
- このソースファイルの3つの列(3、4、5)のデータを読み取る必要があります
- 5番目の列は整数です。この整数値を使用して、3番目と4番目の列のデータを使用して行エントリを複製する必要があります(整数回の数で)。
- #2の出力をCSV形式で出力ファイルに書き込みたい。
以下は私が思いついたものです。
私の質問:これはそれを行うための効率的な方法ですか?200万行で試行すると、集中的になる可能性があります。
まず、使用するサンプルタブの個別のファイルを作成し、それを「sample.txt」と呼びました。これは基本的なもので、4行しかありません。
Row1_Column1 Row1-Column2 Row1-Column3 Row1-Column4 2 Row1-Column6
Row2_Column1 Row2-Column2 Row2-Column3 Row2-Column4 3 Row2-Column6
Row3_Column1 Row3-Column2 Row3-Column3 Row3-Column4 1 Row3-Column6
Row4_Column1 Row4-Column2 Row4-Column3 Row4-Column4 2 Row4-Column6
それから私はこのコードを持っています:
import csv
with open('sample.txt','r') as tsv:
AoA = [line.strip().split('\t') for line in tsv]
for a in AoA:
count = int(a[4])
while count > 0:
with open('sample_new.csv', 'a', newline='') as csvfile:
csvwriter = csv.writer(csvfile, delimiter=',')
csvwriter.writerow([a[2], a[3]])
count = count - 1