こんにちは。
現在、自分で作成したデータをcsvへと変換するプログラムの作成を試みています。
open関数でcsvを作成し、for文で用意したデータのリスト([i]とナンバリングし数値にしてます)と1つの値の数値のペアをリストの要素分だけの行のcsvを作成しようとしてます。
ここで、数式や計算は何度もテストで走らせ確認し、間違いが無いのが確認できたのですがcsvの書き込みのところで'int'と'tuple'のエラーが出てきました。入力する際は数値になっているはずなので、解決方法が分からず困ってます。どうかよろしくお願いします。
コード全体:
#!/usr/bin/env python
import os
import numpy as np
import pandas as pd
datadir = 'rad'
cmd ='rm -rf %s; mkdir -p %s' % (datadir,datadir) #ディレクトリの更新
print(cmd);os.system(cmd)
#dNa+1になった瞬間、rangeは終わる。つまりdNa+1は存在しない値を持つ。
s_Na = 830
e_Na = 956
dNa = e_Na - s_Na +1
Na = np.arange(s_Na ,e_Na+1 ,1)
s_Cs = 1125
e_Cs = 1230
dCs = e_Cs - s_Cs +1
Cs = np.arange(s_Cs ,e_Cs+ 1 ,1)
s1_Eu = 344
e1_Eu = 460
dEu1 = e1_Eu - s1_Eu +1
Eu1 = np.arange(s1_Eu ,e1_Eu+ 1 ,1)
s2_Eu = 520
e2_Eu = 624
dEu2 = e2_Eu - s2_Eu +1
Eu2 = np.arange(s2_Eu ,e2_Eu+ 1 ,1)
s3_Eu = 1694
e3_Eu = 1765
dEu3 = e3_Eu - s3_Eu +1
Eu3 = np.arange(s3_Eu ,e3_Eu+ 1 ,1)
s4_Eu = 1824
e4_Eu = 1850
dEu4 = e4_Eu - s4_Eu +1
Eu4 = np.arange(s4_Eu ,e4_Eu+ 1 ,1)
f = open('%s/spe.csv' %datadir,'w') #ファイルの作成
f.write('%d,%f\n') %(Na[i],511)
f.close
結果:
rm -rf rad; mkdir -p rad
Traceback (most recent call last):
File "/Users/hirokikato/Desktop/MyPython/207mkcsv.py", line 46, in <module>
f.write('%f,%f\n') %(1,511)
TypeError: unsupported operand type(s) for %: 'int' and 'tuple'
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/06 01:16