前提・実現したいこと
9000個の数値データが縦に連続で並べられたCSVファイル(=file1.csv)に対して、
90個のデータごとに一行空白を作り、他に2つの変数を用意し、(変数1,変数2,file1[])のように並べたいです。
但しfile1.csvは以下のように与えられているとします。
1,35
2,22
3,10
4,30
.
.
.
Pythonで、
発生している問題・エラーメッセージ
以下は空白行を入れずに並べたコードです。ここまでは問題なくできました。
ここからどうすれば90個のデータごとに空白行を挿入できるかがわかりません。。。
from csv import writer import pandas as pd df = pd.read_csv('file1.csv', names=['num1', 'num2']) i = 1 data = [] for v in range(0,100): if i <= 100: for f in range(90 * (i-1), 90 * i): data.append((v, f - 90 * (i-1), df.iloc[f,1])) else: break i+=1 with open('file2.csv', 'w', newline = '') as f: Wr = writer(f) for d in data: Wr.writerow(d)
試したこと
newlineを部分的に入れない方法で行けるかな?と試してみましたが、同じ結果になってしまいました。
from csv import writer import pandas as pd df = pd.read_csv('file1.csv', names=['num1', 'num2']) i = 1 data = [] for v in range(0,100): if i <= 100: for f in range(90 * (i-1), 90 * i): data.append((v, f - 90 * (i-1), df.iloc[f,1])) else: break i+=1 for x in data: if x[2] == 89: with open('file2.csv', 'w') as f: Wr = writer(f) for d in data: Wr.writerow(d) else: with open('file2.csv', 'w', newline = '') as f: Wr = writer(f) for d in data: Wr.writerow(d)
補足情報(FW/ツールのバージョンなど)
python.3以上使用
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/05 06:20
2020/02/05 06:34
2020/02/05 07:09
2020/02/05 07:10