Skip to main content
 首页 » 编程设计

python如何将列表列表写入文件

2025年05月04日11三少

我正在尝试将字符串列表的列表写入文件。 我的大 list 是这样的:

 1.0 '0:25.0' '1:50.0' '2:131.0' '3:202.0' 
 1.0 '0:2.0'  '1:36.0' '2:131.0' '3:188.0' 
-1.0 '0:56.0' '1:53.0' '2:55.0'  '3:58.0' 
-1.0 '0:50.0' '1:51.0' '2:48.0'  '3:55.0'   
 and so on ...  

第一列是int类型,其余都是str类型。

我试过下面的代码:

f = open('dataset', 'w') 
for i in range(len(mylist[0]): 
     f.write(str(item) for item in mylist[i]) 
f.close() 

但是我得到以下错误:

TypeError: expected a character buffer object 

错误发生在上面代码的第3行(f.write(...))

编辑:

我试过:

 with open("train_data.csv", 'w') as f: 
     writer = csv.writer(f) 
     writer.writerows(listdata) 

但是,令人惊讶的是,对于以 -1.0 开头的行,我只得到前 31 个元素(每行(列表)包含 362 个元素)。我不知道为什么会这样。

请您参考如下方法:

使用 csv 库:

import csv 
 
with open("out.csv", "w") as f: 
    wr = csv.writer(f) 
    wr.writerows(list_of_lists) 

writerows 接受可迭代对象的可迭代对象,因此每个子列表的内容将写入每一行。

因此对于 list_of_lists = [[1,2,3],[4,5,6],[7,8,9]],您的 out.csv 将如下所示:

1,2,3 
4,5,6 
7,8,9 

正如 Scironic 评论的那样,您可以传递任何您想要的分隔符,即 wr = csv.writer(f, delimiter="") 用于空格等。