1

所以我创建了 Python 代码来抓取几个不同的网站,然后用创建的列表做一些事情。我知道如何将列表转换为字符串以及如何从字符串中写入 csv 文件。我的问题是,我可以将多个字符串写入同一个 csv 文件,并将每个字符串放在自己的行中,并带有唯一的标题吗?下面的代码会将所有数据放入 csv 文件中,但不会在其自己的行中。

str1 = "\n".join(data1)
str2 = "\n".join(data2)
str3 = "\n".join(matches)
now = datetime.datetime.now()
now_str = now.strftime("%Y-%m-%d-%H-%M")
outfilename = 'data-{}.csv'.format(now_str)
outpath = 'data/'
outFile = open(outfilename, 'write')
outFile.write(str1)
outfile.write(str2)
outfile.write(str3)
outFile.close()
4

1 回答 1

2

您的问题的简单答案是否定的,您可能不应该创建一个包含多个部分的 CSV,每个部分都有独立的标题。

没有定义 CSV 文件格式的黄金标准,尽管RFC 4180可能会接近。因此,虽然您在技术上可以自由地创建自己的扩展并将其称为 CSV 文件(如您建议的具有自己标题的多个独立子文件),但这在 CSV 中极为罕见。我预测如果您尝试读取这样的文件,它会在大多数软件中产生不良结果。

如果数据集具有不同的模式,最佳做法是为每个数据集创建一个 CSV。

于 2013-11-03T04:12:41.410 回答