在Python中读取和写入zip列表

1 投票
2 回答
1818 浏览
提问于 2025-04-17 19:01

我想要读写Python中的zip列表,但我找不到具体的方法来实现这个目标。现在我有以下内容:

zipofalllists=zip([a],[b],[c],[d],[e]..)

这里的[a]、[b]、[c]、[d]、[e]只是一些相同长度的列表,里面混合了字符串、整数和浮点数。

现在,我想把这个zip列表读写到一个文本文件中。我最开始考虑把所有列表的zip写成一个csv文件,但我不确定这样做是否正确。

所以,我有类似这样的内容:

with open("master_csv_file.csv", "wb") as f:
    fileWriter = csv.writer(f, delimiter='|',quotechar='"', quoting=csv.QUOTE_MINIMAL)
    for row in zip(*masterzip):
        fileWriter.writerow(row)

但是……我不确定这是不是正确的方法。这样我确实得到了一个csv文件,但我也不太清楚如何把这个csv文件读回来并拆分成原来的列表(我是新手,请原谅我这个基础问题)。

我对这里最好的、最简单的方法感到困惑。

2 个回答

1

jsonpickle 都很好用。

import json

zipofalllists=zip([a],[b],[c],[d],[e])

# write
with open("out.json", "w") as out_f:
    json.dump(zipofalllists, out_f)

# read
with open("out.json", "r") as in_f:
    alllists = json.load(in_f)

这两种方法都可以用 load([文件对象]) 来读取数据,用 dump([对象], [文件对象]) 来直接写入数据到文件里。你也可以使用 loads()dumps() 来直接把一个对象转换成字符串,或者把字符串转换回对象。

1

詹姆斯,

你现在做的事情和把列表压缩在一起是完全不同的。简单来说,当你把列表压缩在一起后,你会得到一个新的列表,这个列表里面包含了更多的列表。

接下来,你想把这个新列表保存到一个文件里。既然你已经成功地把列表压缩了,我猜你是想把这个数据结构写入文件。

最简单的方法就是把这个数据结构“腌制”一下,保存到文件里,这样你以后可以再拿出来用。想了解更多信息,可以看看这个链接:点击这里

祝你好运!如果你想做其他事情,随时告诉我/我们。

撰写回答