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}']}")