python 的新手,所以對任何關于簡單性、pep、模塊等的建議持開放態度。
嘗試創建一個可以在 csv 中搜索值的腳本(在這種情況下獲取標題欄位),然后將這些值作為變數進行索引。我可以從 CSV 中獲取標題,但我無法讓串列回圈遍歷這些值。是的,我可以在原始回圈內創建第二個回圈,但這不是預期的行為。我錯過了什么?
import csv
data = [['SKU', 'Color', 'Delivery', 'Angles'], ['A1234', 'Red', 'Week 1', 'On-model, Pinup'], ['B4321', 'Black', 'Week 2', 'On-model'], ['JJ4567', 'Blue-Multi', 'Week 1', 'Pinup'], ['ClassicTee', 'Pink', 'Week 3', 'On-model, Pinup, Detail']]
with open('SKU_test3.csv', 'w') as csv_file_write:
?csv_writer = csv.writer(csv_file_write, delimiter=',')
?for row in data:
?csv_writer.writerow(row)
with open('SKU_test3.csv', 'r ') as csv_file_append:
?csv_reader = csv.reader(csv_file_append, delimiter = ',')
?header_names = []
?for row in csv_reader:
?header_names.append(row)
?break
print(type(header_names)) # returns: <class 'list'>
for i in header_names:
?print(i) # returns: ['SKU', 'Color', 'Delivery', 'Angles']
for j in i:
print(j) # returns items as expected, but why is a nested loop needed?
uj5u.com熱心網友回復:
您正在串列中嵌套標題header_names串列。您應該直接分配它而不是使用append().
with open('SKU_test3.csv', 'r ') as csv_file_append:
?csv_reader = csv.reader(csv_file_append, delimiter = ',')
?header_names = next(csv_reader)
如果您只想要生成器的第一個元素,則可以使用next()而不是回圈的單次迭代。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/376784.html
