如何将数据从 excel 列表导入到 api python 的循环中

how to import data from a excel list into a loop for a api python

我正在连接一个 API,一切正常,现在我有一个问题,我有一个数据 excel 列表,如下所示:

Name Secondname Age
alex test 2020-02-03
pieter guy 2020-04-04

在我的脚本中,我有一个名为:name 的变量。

name = data.name   
secondname= data.secondname    
age = data.age     

现在我想制作一个脚本,每个循环获取 1 行数据。

所以循环 1:

亚历克斯测试 2020-02-03

循环 2:

彼得盖伊 2020-04-04

并将其存储到变量中:name、second name、age 以便我可以将其与我的有效负载一起发送

有人可以帮我吗,我试过 pandas 和 CSV 模块,但它就是不工作?

当前脚本:

import csv
with open('Map3.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['Name'])

错误:

Traceback(最后一次调用):文件“D:/printtest.py”,第 5 行,打印(行['Name;'])KeyError:'Name;'

这是我的 excel 错误:

您可以使用 pandas 执行此操作,但您必须安装一个模块来读取 excel 个文件。如果您只使用 .xls 扩展,那么模块 xlrd 就足够了。但是如果你使用的是另一个扩展,比如 .xlsx,你必须安装 openpyxl

这是读取数据帧中每个数据的代码。

import pandas

filename = 'myfile.xlsx'
df = pandas.read_excel(filename)

for _, data in df.iterrows():
    name = data.NAME
    secondname = data.SECONDNAME
    age = data.AGE
    # your logic here

您在代码中遇到的问题是字典键区分大小写。您正在尝试访问 row['NAME'],但代码正在查找 row['Name;']。这就是您 KeyError 的原因。要访问文件中的每一列,您必须使用不带分隔符的相同列名。

这里是解决问题的代码:

import csv

with open('Map3.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
       name = row['NAME']
       secondname = row['SECONDNAME']
       age = row['AGE']