我有一個函數table()
,它讀取一個csv文件並返回單個列表中的行。我想映射這些列表來創建一個字典,字段標題是鍵,底層的行是值。但我似乎無法做到這一點。當我嘗試僅在命令提示符下調用從函數(l
)創建的列表的列表中的第一個元素時,它會將所有列表返回到'N',即單詞'None'中的第一個字母,儘管我如果閱讀器爲無,則打破(返回)。當我對sys.stdout執行與文本文件相同的操作時,它也會執行相同的操作,但'N'將替換爲<type 'list'>
。有誰知道我做錯了什麼,以及如何從給定我的table()
函數的CSV文件創建字典(或列的列表)?無法從Python函數返回列表元素
import csv
def table():
with open('C:\\Python27\\test.csv', 'rb') as f:
reader = csv.reader(f)
for row in reader:
print row
if reader is None:
return
l = list(str(table()))
keys = l[0]
print keys
輸出文本文件:
['Field1', 'Field2', 'Field3', 'Field4']
['a', '1', 'I', 'access']
['b', '2', 'II', 'accessing\n']
['c', '3', 'III', 'accommodation']
['d', '4', 'IIII', 'basically']
<type 'list'>
優秀。謝謝你們倆。然而,當我嘗試創建表格中的列字典時,會出現最奇怪的事情。標題分配爲鍵,表格內容爲值,就像我期望的那樣。然而,標題匹配行(標題1匹配行1),而不是像我所期望的那樣匹配列。 – user1185790
下列溶液幫助: 升=表() 鍵= 1 [0] 值= 1 [1:] 值=拉鍊(*值) 字典=字典(拉鍊(鍵,值)) 打印字典 – user1185790