Python 如何修复此错误:下面的代码gievn的值太多,无法解包(预期为4个)?

Python 如何修复此错误:下面的代码gievn的值太多,无法解包(预期为4个)?,python,Python,这个代码有什么问题 import pandas as pd url1 = 'https://raw.githubusercontent.com/ben519/DataWrangling/master/Data/users.csv' url2 = 'https://raw.githubusercontent.com/ben519/DataWrangling/master/Data/sessions.csv' url3 = 'https://raw.githubusercontent.com/be

这个代码有什么问题

import pandas as pd

url1 = 'https://raw.githubusercontent.com/ben519/DataWrangling/master/Data/users.csv'
url2 = 'https://raw.githubusercontent.com/ben519/DataWrangling/master/Data/sessions.csv'
url3 = 'https://raw.githubusercontent.com/ben519/DataWrangling/master/Data/products.csv'
url4 = 'https://raw.githubusercontent.com/ben519/DataWrangling/master/Data/transactions.csv'

lst = [url1, url2, url3, url4]

def read_func(url):
    df = pd.read_csv(url)
    return df

for i in lst:
    users, sessions, products, transcation = read_func(i)
当我运行它时,会出现以下错误:

回溯(最近一次呼叫最后一次):
文件“/main.py”,第15行,在
用户、会话、产品、交易=阅读功能(i)
ValueError:要解压缩的值太多(应为4个)

循环位于错误的位置。您希望将每个数据帧分配给相应的变量,而不是将每个数据帧分配给所有变量:

users, sessions, products, transcation = (read_func(url) for url in lst)

环路在错误的位置。您希望将每个数据帧分配给相应的变量,而不是将每个数据帧分配给所有变量:

users, sessions, products, transcation = (read_func(url) for url in lst)

你到底想做什么?是否将每个csv用作df

如果是这种情况,则使用不应使用的解包语法

read\u func(url)
只返回一个df,您试图将其解包为四个变量

在这里,我将每个df保存在一个列表中,然后将它们解压缩到您想要的变量中

data = []
for i in lst:
    data.append(read_func(i))

users, sessions, products, transaction = data

你到底想做什么?是否将每个csv用作df

如果是这种情况,则使用不应使用的解包语法

read\u func(url)
只返回一个df,您试图将其解包为四个变量

在这里,我将每个df保存在一个列表中,然后将它们解压缩到您想要的变量中

data = []
for i in lst:
    data.append(read_func(i))

users, sessions, products, transaction = data
read_func()
接受一个参数,并返回一个对象,即数据帧。对于每个url,您试图将一个对象解压为4个不同的变量,因为您在列表上循环
read\u func()
接受一个参数,并返回一个对象,即数据帧。您试图将一个对象解压为每个url的4个不同变量,因为您正在循环列表