私は3つの質問をして、それらの3つの回答のリストを持つ.csvファイルを作る小さなPythonスクリプトが必要です(それらのうちの1つはすべての行で同じです)、少し複雑です説明するのが、そこ例ですので、簡単には一例で見て:Pythonリストはすべてのエントリを複製します
What fruit do you want to purchase ?
- Apples
What color ?
- Red
How many?
- 10
What color ?
- Green
How many?
- 30
そして、結果ファイルが持っている必要があります。
#!/usr/bin/python
# -*- coding: utf-8 -*-
dataDir = 'Data/Orders/'
class NewOrders:
def Create(self):
orderNum = str(raw_input('Introduce order reference: '))
orderName = 'ORDERS'+orderNum+'.csv'
fruitType = str(raw_input('What fruit do you want to purchase: '))
order = open(dataDir+orderName,'wb')
order.write('Fruit;Color;Qty\n')
fruitList=[]
while 1:
fruitColor=raw_input('What color: ')
fruitNumber=raw_input('How many: ')
if fruitColor=='':
break
fruitList.append(fruitColor+';'+fruitNumber+';'+fruitType)
for article in fruitList:
order.write('%s\n' % article)
Orders = NewOrders()
Orders.Create()
:私はほとんどこのコードでそれをやった
Fruit;Color;Qty
Apples;Red;10
Apples;Green;30
しかし、結果ファイルがあります:新しい行が導入されている
Fruit;Color;Qty
Red;30;Apples
Red;30;Apples
Green;10;Apples
たびに、それは以前のものを複製します。
いくつかのヒントやヘルプをいただければ幸いです。
皆様に感謝します。最後にfor
ループはあなたが色を追加するたびに実行される
while 1:
fruitColor=raw_input('What color: ')
fruitNumber=raw_input('How many: ')
if fruitColor=='':
break
fruitList.append(fruitColor+';'+fruitNumber+';'+fruitType)
for article in fruitList:
order.write('%s\n' % article)
ようにするために、それは最初のエントリを書きます:
解除インデントをするサイクルの最後に試してみてください:) 今すぐ新しい要素を追加するたびにfruitListを通してサイクリングしています – pazqo
ああ、ありがとう! –
あなたには関係ありませんが、 'raw_input()'はすでに 'str'を返すので、' str'に再度変換する必要はありません。また、あなたのファイルを閉じる必要があります – Guillaume