私のPythonアプリケーションでは、さまざまなフィールドの値をテキストファイルに保存しており、Excelで読みやすい方法で開くことができるようにCSV形式を使用することにしました。ファイルの値を変更して、アプリにインポートすることもできます。ファイルの形式は次のようになります。
Category 1, Param 1, Param 2, Param 3, Param 4
Command 1, 100, 123, 456, 1000
Command 2, 980, 312, 567, 882
Command 3, 0, 111, 584, 223
Category 2, Param A, Param B, Param C
Command A, 24, 14, 66
Command B, 59, 0, 123
CSVファイルの保存はそれほど問題ではありませんが、各カテゴリに同じ量のパラメータがないため、カテゴリをどのように分離するかが気になります。私はcsv
PythonのモジュールとDictReader
メソッドを使用してきましたが、すべてを取得して同じバスケットに入れるだけです。したがって、たとえば、このコードを使用する場合:
def parseCsvFile(self, paramsfile):
with open(paramsfile, 'rb') as csvfile:
paramNames = ['Category', 'Param 1', 'Param 2', 'Param 3', 'Param 4']
paramsReader = csv.DictReader(csvfile, fieldnames=paramNames)
for row in paramsReader:
print row['Category']
私はこの結果を得るでしょう:
Category 1
Command 1
Command 2
Command 3
Category 2
Command A
Command B
カテゴリ1のデータを最初に取得し、次にカテゴリ2のデータを別のフィールド名のセットで取得する方法はありますか?
ありがとう。