行值在新迭代后被替换

row values get replaced after new iteration(行值在新迭代后被替换)
本文介绍了行值在新迭代后被替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个如下所示的函数,并在for循环中运行它:

def findInfo(url, df):
    allLinks = getAllLinks(url)
    katalogLinks = getKatalogLinks(allLinks)
    if len(katalogLinks) == 0:
        df = df.append({'Company URL' : url,
                    'Potential Client' : 0} , 
                    ignore_index=True)
        return df

    else:
        print("catalog links foud", url)
        df["Company URL"] = url
        df["Potential Client"] = 1
        pdfLinks = getPDFLinks(katalogLinks)
        print(pdfLinks)
        
        pdfDetails = checkPDFs(url, pdfLinks)
        df = df.append({'Company URL' : url,
                    'Potential Client' : 1, "Number of PDFs found":len(pdfLinks),"Info":pdfDetails} , 
                    ignore_index=True) 
        return df
df = pd.DataFrame()
df["Company URL"] = ""
df["Potential Client"] = ""
lst = ["http://www.aurednik.de/", "https://www.eltako.de/"]
for i in lst:
    df = findInfo(i, df)
    print("DF", df)

df.head()

对于第一次迭代,当我在循环中打印df时,我得到了正确的结果

DF                Company URL  Potential Client Info  Number of PDFs found
0  http://www.aurednik.de/                 1   {}                   0.0
但是,对于第二次迭代,我希望第一行保持原样,然后添加从df返回的另一行。但是,第一个df中的url被替换,我的最终df如下所示:

Company URL Potential Client    Info    Number of PDFs found
0   https://www.eltako.de/  1   {}  0.0
1   https://www.eltako.de/  1   {'https://www.eltako.de/wp-content/uploads/2020/11/Eltako_Gesamtkatalog_LowRes.pdf': {'numberOfPages': 440, 'creationDate': '2017-09-20'}}  1.0

为什么要替换第一行?我怎么才能解决这个问题?这可能与我保存或返回df的方式有关,但我找不到问题所在。

推荐答案

第12-13行:

        df["Company URL"] = url
        df["Potential Client"] = 1
您将整个列&Company URL";和";Potential Customer";设置为当前迭代的值。删除这些行应该可以解决问题。

这篇关于行值在新迭代后被替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)