如何将数据从 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']
我正在连接一个 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']