首页 > 解决方案 > 从excel文件中读取一列并将其替换并写入下一列

问题描述

我有包含数字列表的 excel 文件,我想在其中读取并替换/%3数字,然后在第 2 列中写入替换的新部分,如下面的屏幕截图所示

import requests
import json
import xlrd
import warnings

warnings.filterwarnings('ignore', message='Unverified HTTPS request')

loc = ("/Users/Mac78908980/Documents/input_job.xlsx")
wb = xlrd.open_workbook(loc)
sheet = wb.sheet_by_index(0)
sheet.cell_value(0, 0)

print('*************************Below is search Result**************************')
for i in range(1, sheet.nrows):
    url = "https://newUrl-test9.usspk05.app.xyz.com/api/89/issueNo/template?include=contractMap&PartNumber={}".format(sheet.cell_value(i, 0))
    payload = {}
    headers = {}

输入文件:

Partnumbers
34353/A
32423/B
S34343/A
P45434/M
S4554/A
L34333/B
S89573/A
S92347/B
S03434/A
P23232/A
L34333/B
S89573/A
M73990/A

在此处输入图像描述

期望的

Col1           Col2
34353/A       34353%3A
32423/B       32432%3B
S34343/A      S34343%3A
P45434/M      P45434%3M

在此处输入图像描述

提前致谢

标签: pythonfilefile-iorundeck

解决方案


由于您的问题陈述不清楚,我只根据您的Desired输出编写了代码如下:

import pandas as pd

if __name__ == '__main__':
    df = pd.read_csv("data/output_job.csv")
    df["New_parts"] = df["Partnumbers"].str.replace("/", "%3F")
    print(df.to_string(index=False))

结果:

Partnumbers   New_parts
    34353/A   34353%3FA
    32423/B   32423%3FB
   S34343/A  S34343%3FA
   P45434/M  P45434%3FM
    S4554/A   S4554%3FA
   L34333/B  L34333%3FB
   S89573/A  S89573%3FA
   S92347/B  S92347%3FB
   S03434/A  S03434%3FA
   P23232/A  P23232%3FA
   L34333/B  L34333%3FB
   S89573/A  S89573%3FA
   M73990/A  M73990%3FA

你可以/%3Fusing替换Series.str.replace


推荐阅读