繁体   English   中英

尝试将 zip 列表读回原始列表时出现问题

[英]Problem trying to read back zip list into original lists

3个月新学习Python,感谢大家的帮助。 惊人的语言。

尝试读回保存到 csv 的 zip 列表时出现问题。

这是我将列表写入文件的方式..

def save_csv():
    buyall = list(zip(buycoin, buyprice, buyqty, buystatus))  
    with open('Trade Data.csv', 'wt') as myfile:
        wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
        wr.writerow(buyall)

从文件加载时,如何将这 4 个列表读回列表本身? 很难搞清楚格式。。

问候,杰夫

请阅读代码中的注释

import csv

buycoin, buyprice, buyqty, buystatus = [
    (str(i), str(i)*(i+1), str(i)+'*') for i in range(4)]
print(buycoin, buyprice, buyqty, buystatus)
# ('0', '0', '0*') ('1', '11', '1*') ('2', '222', '2*') ('3', '3333', '3*')


def save_csv():
    buyall = list(zip(buycoin, buyprice, buyqty, buystatus))
    print(*buyall)
    # ('0', '1', '2', '3') ('0', '11', '222', '3333') ('0*', '1*', '2*', '3*')
    with open('Trade Data.csv', 'wt') as myfile:
        wr = csv.writer(myfile)  # remove quoting
        wr.writerows(buyall)  # row's'


def read_csv():
    with open('Trade Data.csv', 'rt') as myfile:
        data = csv.reader(myfile)
        data = [*zip(*data)]  # transpose
        return data


save_csv()
'''
0,1,2,3
0,11,222,3333
0*,1*,2*,3*
'''

a, b, c, d = read_csv()
print(a, b, c, d)
# ('0', '0', '0*') ('1', '11', '1*') ('2', '222', '2*') ('3', '3333', '3*')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM