gpt4 book ai didi

python - 将包含列表的 DataFrame 导出到 Excel

转载 作者:太空宇宙 更新时间:2023-11-04 05:42:37 31 4
gpt4 key购买 nike

所以我尝试使用“to_excel”方法将 Pandas DataFrame 导出到 .xlsx 文件;我已经搜索过了,但没有发现任何似乎可以完全回答这个问题的问题。问题是数据框中的各个元素本身就是列表,让我举例说明:

假设我们有以下数据框:

data = [[['a','b','c']],[['a']],[[]],[['a', 'b']],[['a']]]
df = pd.DataFrame(data=data)
df.to_excel('data.xlsx')

“to_excel”调用导致以下错误:

TypeError: Unsupported type <class 'list'> in write()

我已经通过执行以下操作解决了这个问题:

for key in df:
for i in df[key].index:
df[key].loc[i] = ' ,'.join(df[key].loc[i])
df.to_excel('data.xlsx')

然后像这样访问我的新程序中的文件:

newDF = pd.read_excel('data.xlsx')
for key in newDF:
for i in newDF[key].index:
newDF[key].loc[i] = str(newDF[key].loc[i]).split(',')

但显然这感觉很荒谬,我想相信有更好的方法。有谁知道将包含列表的 DataFrame 保存到 excel 文件或至少更有效地执行上述操作的更有效方法?

最佳答案

不确定是否有效,但更简洁的方法是调用 apply 并传递 ' ,',join 作为要调用的函数:

In [75]:
data = [[['a','b','c']],[['a']],[[]],[['a', 'b']],[['a']]]
df = pd.DataFrame(data=data)
df[0].apply(' ,'.join)

Out[75]:
0 a ,b ,c
1 a
2
3 a ,b
4 a
Name: 0, dtype: object

除了将列表存储为数据元素是有问题的,IMO 应该避免

关于python - 将包含列表的 DataFrame 导出到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33349623/

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