繁体   English   中英

如何将列表传递给 python 中的 CSV 编写器并使其在单个单元格中写入每个元素

[英]How to pass a list to a CSV writer in python and make it write each element in individual cells

这似乎在任何地方都没有得到确切的回答,我正在开展一个涉及它的项目。 使用 python 的 csv 功能,我试图将列表传递给 writer.writerow 函数。 我是这样做的:

    zippedTitles = zip(*allTitles)
    zippedTexts = zip(*allText)
    theAllZip = zip(zippedTitles, zippedTexts)

    with open(path, 'a', newline='', encoding='utf8') as file:
        file.write('\ufeff')
        writer = csv.writer(file)
        writer.writerow(["","EN","ES","RU","PT-BR","KO","JA","IT","DE","FR","CT","CS"])
        writer.writerow(["#"])
        for diffTitle, diffBody in theAllZip:
            
            writer.writerow(["Name", list(diffTitle)])
            writer.writerow(["Image 1"])
            writer.writerow(["Image 2"])
            writer.writerow(["Body", list(diffBody)])
            writer.writerow("")
            writer.writerow("#")

基本上,在 zippedTitles 和 zippedTexts 中是列出的每种语言的网页标题,然后是这些语言的这些页面上的文本。 当我写“list(diffTitle)”时,我试图分别将该列表的每个元素添加到下一个单元格中。 我知道逗号是常用的分隔符。 是否有捷径可寻? 目前,结果如下:

CSV 的外观

将整个列表插入到单个单元格中。 我会单独编写每个单元格并遍历列表,但似乎 CSV 仅具有 writerow 功能。 无论如何,长话短说,有没有办法给行作者提供一个列表,并让它在行的各个单元格中写出列表?

像这样?

            writer.writerow(["Name"] + list(diffTitle)])
            writer.writerow(["Image 1"])
            writer.writerow(["Image 2"])
            writer.writerow(["Body"] + list(diffBody)])

“diffTitle”和“diffBody”是否已经列出?

暂无
暂无

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

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