【问题标题】:Read a column from excel file and replace it and write it in next column从excel文件中读取一列并将其替换并写入下一列
【发布时间】:2021-03-03 06:59:28
【问题描述】:

我有一个包含数字列表的 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

提前致谢

【问题讨论】:

    标签: python file file-io rundeck


    【解决方案1】:

    由于你的问题表述不清楚,我只根据你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
    

    您可以使用Series.str.replace/ 替换为%3F

    【讨论】:

    • 谢谢,我有一个包含这些序列号的 Excel 表,我想读取 Col1 中包含序列号的文件,并将 / 替换为这些序列号的 %3F,然后再次将其写入文件,在另一列(比如 Col2)中,这就是问题陈述
    • 在这种情况下,如果您可以在 excel 列中提供与Col1 中的值相对应的几行值,对我来说会更容易。
    • 嗨,我已经用新值和截图更新了问题陈述,以便清楚,非常感谢
    • @Bernard 我已将我的代码恢复到初始版本,因为我认为您想要的输出没有改变。
    • 感谢@abysslover,但我们实际上并没有在excel中编写更新的内容,而是在控制台中打印它。
    猜你喜欢
    • 2019-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多