如何解决如何将excel列表中的数据导入到api python的循环中
我正在连接一个 API 并且一切正常,现在我遇到了一个问题,我有一个像这样的数据 excel 列表:
姓名 | 第二名 | 年龄 |
---|---|---|
亚历克斯 | 测试 | 2020-02-03 |
pieter | 家伙 | 2020-04-04 |
name = data.name
secondname= data.secondname
age = data.age
所以循环1:
亚历克斯测试 2020-02-03
循环 2:
彼得小子 2020-04-04
并将其存储到变量中:姓名、第二姓名、年龄,以便我可以将其与我的有效载荷一起发送
有人可以帮助我吗?我尝试过 Pandas 和 CSV 模块,但它不起作用?
当前脚本:
import csv
with open('Map3.csv',newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['Name'])
错误:
回溯(最近一次调用最后一次):文件“D:/printtest.py”,第 5 行,在 print(row['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']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。