前提・実現したいこと
2つのcsvファイルがあり,1つ目は16000行4列の配列で2つ目は1行10列の配列です.まず,この2つのファイルをリストとして読み込みました.この1つ目のファイルの3列目は0が1000個並べられた後5が500個並べられておりそれが16000まで規則的に続いています.この3列目が0の時は列を追加し0を出力,5であれば2つ目のファイルから読み込んでそれを追加した列に出力したいのですが,1回目の5が500個連続に並べられたとき,2つ目のファイルの1行1列目の値を追加し,2回目の5が500個連続に並べられたとき,2つ目ファイルの1行2列目の値を追加し,と5の連続が終わるまで同じことを繰り返し,書き込む数字だけ毎回違う数値にしたいのですがどういう風にプログラムを組めばよろしいのでしょうか.
また,使用しているpythonはpython3.7.9です.
1つ目のcsvファイルをリストとして出力 ・・・ ['0.001', '0', '5', '-10'] ['0', '-0.001', '5', '-10'] ['0', '-0.001', '5', '-10'] ['0', '-0.001', '5', '-10'] ['0', '-0.001', '5', '-10'] ['-0.001', '-0.001', '5', '-10'] ['-0.001', '-0.001', '5', '-10'] ['-0.001', '0', '5', '-10'] ['-0.001', '-0.001', '5', '-10'] ['-0.001', '-0.001', '5', '-10'] ['-0.001', '-0.001', '5', '-10'] ['-0.001', '-0.002', '5', '-10'] ['-0.001', '-0.002', '5', '-10'] ['-0.001', '-0.002', '0', '-10'] ['-0.001', '-0.002', '0', '-10'] ['-0.001', '-0.002', '0', '-10'] ['0', '-0.002', '0', '-10'] ['0', '-0.002', '0', '-10'] ['0', '-0.002', '0', '-10'] ['0.001', '-0.002', '0', '-10'] ['0.001', '-0.002', '0', '-10'] ['0', '-0.002', '0', '-10'] ['0', '-0.001', '0', '-10'] ['0', '0', '0', '-10'] ['0', '0.001', '0', '-10'] ['0', '0.002', '0', '-10'] ['0', '0.003', '0', '-10'] ['0', '0.003', '0', '-10'] ・・・ 2つ目のcsvファイルをリストとして出力 ['7.000000000', '8.000000000', '1.000000000', '1.000000000', '4.000000000', '5.000000000', '9.000000000', '5.000000000', '1.000000000', '3.000000000']
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
import glob glob.glob("/data/*") glob.glob("/data/*20201124 脳波/*") glob.glob("/data/*20201124 数字配列/*") import csv import numpy as np with open('/data\20201124 数字配列\OpenBCI_2020_11_25_16_06_55.csv', 'r') as csvfile: count_file = csv.reader(csvfile) for row1 in count_file: print(row1) with open('/data\20201124 脳波\OpenBCI_2020_11_25_16_06_55.csv', 'r') as csvfile: eeg_file = csv.reader(csvfile) for row2 in eeg_file: if "0" in row2[2]: row2.append("0") else: row2.append(row1) print(row2)
試したこと
上記のプログラムを組んで実行したのですが,このように3列目が5の時2つ目のファイルをすべて書き込んでしまい上手にいきませんでした.(1部抜粋)
['-0.004', '0.001', '5', '-10', ['7.000000000', '8.000000000', '1.000000000', '1.000000000', '4.000000000', '5.000000000', '9.000000000', '5.000000000', '1.000000000', '3.000000000']]
また,3列目が0の時は0を書き込むというプログラムは上手にできました.
また,出力した結果としては, ・・・ ['0.001', '0', '5', '-10','7'] ['0', '-0.001', '5', '-10','7'] ['0', '-0.001', '5', '-10','7'] 一回目の5の塊 ['0', '-0.001', '5', '-10','7'] ['0', '-0.001', '5', '-10','7'] ・・・ ['-0.001', '-0.001', '5', '-10','8'] ['-0.001', '-0.002', '5', '-10','8'] ['-0.001', '-0.002', '5', '-10','8'] 二回目の5の塊 ['-0.001', '-0.002', '5', '-10','8'] ['-0.001', '-0.002', '5', '-10','8'] ['-0.001', '-0.002', '5', '-10','8'] ... ・・・
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー