我试图读取一个CSV文件,并将头作为键,将主体作为值对。 这是我的Python文件:
from pymongo import MongoClient
import requests
import csv
import sys
data = {}
def readCsv(csvFile, column):
with open(csvFile, "rb") as infile:
reader = csv.reader(infile)
headers = next(reader)[1:]
for row in reader:
data[row[column]] = {key: value for key, value in zip(headers, row[1:])}
def readCalllogs():
for loanNumber in data:
logDetail = data[loanNumber]
print logDetail
resp = requests.post('http://localhost:3500/api/v1/call_logs', json=logDetail)
if resp.status_code != 201:
print resp.status_code
else:
print logDetail
def writeYAMLFile():
for loan in loans:
print loan["assignedTo"]
def loadCalllogsFromCsv():
readCsv("calllogs.csv", 0)
readCalllogs()
def main():
loadCalllogsFromCsv()
if __name__ == "__main__":
main()
但我得到一个索引错误:
File "./load_calllogs.py", line 16, in readCsv data[row[column]] = {key: value for key, value in zip(headers, row[1:])} IndexError: list index out of range
这是我的CSV文件:
^{pr2}$
一个^{} 会帮你的。它会自动读入标题,然后根据该行将下面的每一行转换为字典。然后按名称而不是位置访问列:
这会给你:
^{2}$您会注意到,“loadNumber”字段用作键,它也保留在字典中。在
试试这个代码。在
以下是输出(包含dict的列表):
相关问题 更多 >
编程相关推荐