gpt4 book ai didi

python - 值错误: arrays must all be same length in python

转载 作者:太空宇宙 更新时间:2023-11-03 20:36:17 26 4
gpt4 key购买 nike

我尝试了不同的可能性来找出错误的原因。但没有找到错误原因。请帮我看看我的代码出了什么问题。

def businesslogic(dirs, userpath):
data = {}
for fold in dirs:
files = os.listdir(fold)
if 'Test.txt' in files:
with open(os.path.join(fold,'Test.txt'),'r') as te:
lines = [line.rstrip('\n') for line in te.readlines()]
else:
print('Test.txt does not exist')

rows = [value.split(';')[0] for value in lines]
data[fold] = [value.split(';')[1] for value in lines]

df = pd.DataFrame.from_dict(data)---->>>ValueError: arrays must all be same length

df.index = rows
cols = list(df.columns.values)

req = df.loc[['TubeType', 'Digits']]
req = req[cols].astype(int)

最佳答案

由于您的文件夹不一定具有相同数量的文件,因此您会收到此错误。根据您的格式,每个文件夹都表示为一列。所有文件夹的第一个文件将位于第一行,第二个文件将位于第二行,依此类推...当两个不同的文件夹中有不同数量的文件时,就会出现问题。特定文件夹需要 10 行(因为它包含 10 个文件),而另一个文件夹只需要 8 行。Pandas 认为这是输入错误。

如果您想将所有信息放在同一行中,您可以这样做:

# Example a data dict where folders contain different number of files
data= {'folder1' : ['file1', 'file2'], 'folder2' : ['file3'] }

pd.DataFrame({x : [[y for y in data[x]]] for x in data})
<小时/>

输出:

          folder1  folder2
0 [file1, file2] [file3]

关于python - 值错误: arrays must all be same length in python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57145902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com