Python 如何使用Pandas保存行内的列表

Python 如何使用Pandas保存行内的列表,python,csv,pandas,dataframe,save,Python,Csv,Pandas,Dataframe,Save,我有一个数据帧df1,列a的每一行都包含一个数字列表,如下所示: import pandas as pd dic = {'A':[[0,2,5,464,64789,131,13],[1,454,45166,78],[6,8],[1],[7,8789,45,65]]} df1 = pd.DataFrame(dic) 我的目标是将每一行保存在.txt文件中,以便为每一行显示列表的内容。到目前为止,我能够通过使用以下代码行实现它: df1.to_csv('../ndb/_fede.txt',inde

我有一个数据帧
df1
,列
a
的每一行都包含一个数字列表,如下所示:

import pandas as pd
dic = {'A':[[0,2,5,464,64789,131,13],[1,454,45166,78],[6,8],[1],[7,8789,45,65]]}
df1 = pd.DataFrame(dic)
我的目标是将每一行保存在.txt文件中,以便为每一行显示列表的内容。到目前为止,我能够通过使用以下代码行实现它:

df1.to_csv('../ndb/_fede.txt',index=False, header=None)
但是,输出文件有一些引号和括号,我不需要它们

# What I get                       | # What I WANT!
"[0, 2, 5, 464, 64789, 131, 13]"   | 0,2,5,464,64789,131,13
"[1, 454, 45166, 78]"              | 1,454,45166,78
"[6, 8]"                           | 6,8
"[1]"                              | 1
"[7, 8789, 45, 65]"                | 7,8789,45,65
基本上我想要的是,每个列表的所有数字都用逗号分隔,没有其他字符


注意:如果需要,还可以将
df1
转换为数组

将更简单的解决方案转换为
str
,并通过以下方式删除
[]

如果需要,请删除空白:

df1.A = df1.A.astype(str).str.strip('[]').str.replace('\s+', '')
print (df1)
                        A
0  0,2,5,464,64789,131,13
1          1,454,45166,78
2                     6,8
3                       1
4            7,8789,45,65
如果只需要保存一列,最简单的方法是更改默认分隔符
,因为分隔符
和列中的值是
,所以添加了

print (df1.to_csv(index=False, header=None, sep="|"))
0,2,5,464,64789,131,13
1,454,45166,78
6,8
1
7,8789,45,65

我喜欢这样,但当我保存它时,我仍然会得到引号。如果它只有一列,请尝试其他sep,如
-
df1.to_csv('../ndb/_fede.txt',index=False,header=None,sep='|')
print (df1.to_csv(index=False, header=None, sep="|"))
0,2,5,464,64789,131,13
1,454,45166,78
6,8
1
7,8789,45,65
df1.A.apply(
    lambda x: ','.join(pd.Series(x).astype(str))
).to_frame().to_csv('../ndb/_fede.txt', index=False, sep='|')