我正在尝试编写一个将多个列表写入单个 csv 文件的函数,并且我能够获取要写入的列标题,但无法获取任何数据。我的数据位于与此类似的列表中 [92,3801,2,22,4],第二个是 [3.0,2,23,5],我正在寻找有关此的指导。谢谢你!
import csv
def export_results(number_of_words_sentence,mean_word_per_sentence):
with open("assignment_7_results.csv", "w", newline="") as Assignment_7_results:
writer = csv.writer(Assignment_7_results)
writer.writerow(["Number of Words", "Words/Sentence"])
# Our .csv file will have two columns, one for the dict keys and one for the dict values
writer.writerows(number_of_words_sentence)
writer.writerows(mean_words_per_sentence)
顾名思义,writerows
写入行,而不写入列。此外,您的列表大小并不相同,因此您需要采取一些措施来解决这一问题。处理这种事情的标准方法是使用itertools.zip_longest
.
from itertools import zip_longest # izip_longest in python2.x
with open("assignment_7_results.csv", "w") as f:
w = csv.writer(f)
w.writerow(["Number of Words", "Words/Sentence"])
for x, y in zip_longest(number_of_words_sentence, mean_word_per_sentence):
w.writerow([x, y])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)