所以我有一個讀取此cvs文件'test.cvs'的代碼。該腳本的目的是要知道它是什麼時候包裝五個,GK-05或GK-01,並像這樣添加顏色,「'499','GK-05','黑色,銀色,橙色,黑藍' 」。腳本根據order_number讀取每行,如果當前行的order_number爲空,則將顏色添加到以前的順序。 Sku代表包裝類型。請注意,在完成的CVS中,每三個字段都應該用撇號括起來。python:根據前一行在一行中更改變量
order_number,sku,options
500,GK-01,black
499,GK-05,black
,,silver
,,orange
,,black
,,blue
最終的結果應該是:
order_number,sku,options
'500','GK-01','black'
'499','GK-05', 'black, silver, orange, black, blue'
請注意,在完成CVS,每次三場應該用單引號。
到目前爲止我的代碼是這樣的:
with open(input_filename, 'r') as input_csv, open(output_filename, 'w', newline = '') as output_csv:
reading = csv.reader(input_csv)
writing = csv.writer(output_csv)
next(reading)
previous_row = next(reading)
for row in reading:
if row[0] == '' and row[2] == previous_row[2]:
print ("current: " + previous_row[0])
print ("This one matches " + row[2])
else:
previous_row = row
我的問題是previous_row不會堅持爲 '499,GK-05,黑'。它將永遠是下一排,所以沒有任何東西會打印出來。如果我刪除了其他條件,然後打印將是:
current: 500
This one matches black
我希望它是499,我試圖解決不斷變化的基礎上以前的行之前,我想通了,接下來的部分變量,這個第一個問題。但是,如果任何人都可以幫助將所有顏色添加到一起的下一部分,那將非常感激。
謝謝你的幫助。
**編輯 Anand S Kumar的回答對我有很大的幫助,但是還沒有解決將字段封入''的問題。
'GK-01'只有一個選擇,而'GK-05'有五個。我想知道是否有sku的規則。而'sku'獨一無二? – LittleQ