python csv和excel操作 网络请求示例
import time
import requests #网络请求
import pandas as pd
import openpyxl
domain_url_1 ="http://en.rao.jx.cn:503"
# 网络请求
def upload_data(token, material_no, chip_name, column_group, last_update_user):
url = f"{domain_url_1}/api/upload-data"
headers = {"Authorization": f"Bearer {token}"}
data = {
"data": [
{
"material_no": material_no,
"chip_name": chip_name,
"column_group": column_group,
"last_update_user": last_update_user
}
]
}
# 核心修改:将 data=data 改为 json=data
response = requests.post(url=url, json=data, headers=headers)
# 核心修改:修正缩进
if response.status_code == 200:
result = response.json()
print(result)
else:
# 建议加上非200状态码的打印,方便排查接口报错
print(f"请求失败,状态码: {response.status_code}, 返回内容: {response.text}")
# 读取 CSV 文件
#df = pd.read_csv('xxxx.csv')
# 读取 Excel 文件
# sheet_name 参数可以指定工作表名称,默认为第一个工作表
#df = pd.read_excel('MCU芯片列表.xlsx', sheet_name='Sheet1')
# 查看前几行数据
#print(df.head())
# 获取行数和列数
#rows, columns = df.shape
#print(f"行数: {rows}, 列数: {columns}")
# 读取指定列(与 CSV 处理方式类似)
#selected_data = df[['GD32F105VCT6', '列名2']]
# 按行遍历(与 CSV 处理方式类似)
#for index, row in df.iterrows():
#print(row['列名1'])
df = pd.read_excel('MCU芯片列表.xlsx', sheet_name='控制板')
list_name ='GD32F303RET6'
selected_data = df[[f"{list_name}"]] #获取这一列的数据
# 遍历每一行数据
for index, row in selected_data.iterrows():
# index 代表当前的行号(索引),row 代表当前行的数据(行+列映射具体的值)
print(f"第 {index} 行数据:", row[f'{list_name}'])
if len(row[f'{list_name}']) >= 12:
token=''
material_no= row[f'{list_name}']#料号
chip_name=f'{list_name}' #芯片名称
column_group="A"
last_update_user = "admin"
upload_data(token, material_no, chip_name, column_group, last_update_user)
time.sleep(1)
else:
print(f"SN长度不够:{row[f'{list_name}']}")
评论已关闭