Python 如何保存数据并在每次代码运行时追加数据

Python 如何保存数据并在每次代码运行时追加数据,python,Python,我正在尝试创建一个数据库来保存由以下代码生成的数据 我的问题是,每次运行代码时,它都会用函数中新生成的数据覆盖现有数据,这很有意义,因为每次运行代码时,它都会将数据列表读取为空 我的问题是如何保存代码生成的数据,并在每次使用新信息运行代码时添加到数据中 我正在尝试从URL中获取名字和姓氏作为练习,并将其添加到data=[[First\u name,Last\u name]]中,之后将添加到data\u list=[] 我需要的结果是,每次我添加一个新的URL时,它都会捕获名字,姓氏将它们保存在数

我正在尝试创建一个数据库来保存由以下代码生成的数据

我的问题是,每次运行代码时,它都会用函数中新生成的数据覆盖现有数据,这很有意义,因为每次运行代码时,它都会将数据列表读取为空

我的问题是如何保存代码生成的数据,并在每次使用新信息运行代码时添加到数据中

我正在尝试从URL中获取名字和姓氏作为练习,并将其添加到
data=[[First\u name,Last\u name]]
中,之后将添加到
data\u list=[]

我需要的结果是,每次我添加一个新的URL时,它都会捕获
名字
姓氏
将它们保存在数据库中,并将新数据添加到列表中,而不是从空列表开始

代码如下:

url = 'website'

data_list=[]

def data():
    r = requests.get(url)
    soup = BeautifulSoup(r.text, 'html.parser')
    name_array = soup.find_all('h1', {'class': 'Profile-userFullName-_EP'})
    name = soup.find('h1', {'class': 'Profile-userFullName-_EP'}).text.strip().split()
    first_name = name[0]
    last_name = name[1]

    data = [[first_name, last_name]]
    # data_list.append(data)
    return data

data_list.append(data())
print(len(data_list))
print (data_list)
编辑
由于我是该领域的新手,在寻找保存生成数据的最佳方法后,我决定将其保存到excel工作表中,并在不使用Pandas覆盖现有数据的情况下添加到该工作表中。问题是,data()返回一个对象,即包含两个对象的列表。所以,由于您只附加了一个对象,所以列表将始终是一个。如果您提供了预期的输出,我可以添加一些代码来解决问题

您的问题似乎很模糊。我想您需要获得
[firstname,lastname]
格式列表中所有姓名的列表。如果是这样,请尝试下面的代码段

url = 'website'

data_list=[]

def data():
    r = requests.get(url)
    soup = BeautifulSoup(r.text, 'html.parser')
    name_array = soup.find_all('h1', {'class': 'Profile-userFullName-_EP'})
    for x in name_array:
      name = soup.find('h1', {'class': 'Profile-userFullName-_EP'}).text.strip().split()
      first_name = name[0]
      last_name = name[1]
      data = [first_name, last_name]
      data_list.append(data)

print(len(data_list))
print (data_list)

每次调用
data\u list.append(data())
data\u list
的大小都会增加1。因为您只调用了一次,所以列表的长度为1。举例来说

data_list.append(data())
生成长度为1的
数据列表
,而

data_list.append(data())
data_list.append(data())
data_list.append(data())

将生成一个长度为3的
数据列表。

我不明白你在问什么。“在Python中附加到空列表时出错”处理HTML的事实与问题无关,因此只需让函数返回
数据
,然后从那里开始,你就更有可能得到答案。而且,你只做了一个附加,所以你可能在某个地方缺少一个循环(当你提到多个值时)。你正在使用的网站是什么?这样我就可以在我的设备中重新创建它。预计产量是多少