TL;DR -> 我在PyPi上找不到任何可以将列表作为参数并将其转换为表格的模块。我之所以问这个问题是因为我在PyPI上找不到类似于实际打印字符串或将字符串写入文件的东西。
假设你有很多统计数据,需要将它们整齐地写在一个表格中,就像这样(我一直在试图教授有关不同排序算法之间差异的课程)(请注意,此处给出的示例与下面给出的代码输出不匹配。我只是为了解释我的需求而这样做,并且不会让人们必须滚动大量代码):
假设你有很多统计数据,需要将它们整齐地写在一个表格中,就像这样(我一直在试图教授有关不同排序算法之间差异的课程)(请注意,此处给出的示例与下面给出的代码输出不匹配。我只是为了解释我的需求而这样做,并且不会让人们必须滚动大量代码):
#########################
# LENGTH ||| TIME(s) #
#########################
# 0 ||| 0.00000 #
# 250 ||| 0.00600 #
# 500 ||| 0.02100 #
# 750 ||| 0.04999 #
# 1000 ||| 0.08699 #
# 1250 ||| 0.13499 #
# 1500 ||| 0.19599 #
# 1750 ||| 0.26900 #
# 2000 ||| 0.35099 #
#########################
理想情况下,我会像下面这个文件那样写一些内容以保存到文件中:一组列表,其中一个列表包含一个值集合,另一个列表包含对应的另一个值集合。
if __name__ == '__main__':
with open(os.path.join(os.path.dirname(__file__), 'Sort Stats', 'stats_exp.txt'), 'w') as stats:
stats.write(
"O-######################==#######################==#######################==######################-O\n")
stats.writelines(
"|{0:^23}||{1:^23}||{2:^23}||{3:^23}|\n".format("Bubble Sort", "Insertion Sort", "Merge Sort (R)",
"Merge Sort (I)"))
stats.write(
"|#######################||#######################||#######################||#######################|\n")
stats.write(
"| LENGTH | TIME(s) || LENGTH | TIME(s) || LENGTH | TIME(s) || LENGTH | TIME(s) |\n")
stats.write(
"|#######################||#######################||#######################||#######################|\n")
for times_taken, t1, t2, t3, t4 in zip(total_lengths, sort_times_bubble, sort_times_ins, sort_times_merge_r,
sort_times_merge_i):
stats.write(
"|{0:^11}|{1:^11}||{2:^11}|{3:^11}||{4:^11}|{5:^11}||{6:^11}|{7:^11}|\n"
.format(
times_taken, str(t1)[:6],
times_taken, str(t2)[:6],
times_taken, str(t3)[:6],
times_taken, str(t4)[:6],
)
)
stats.write(
"O-######################==#######################==#######################==######################-O\n")
print "Data writing complete"
正如你所看到的,它并不美观,最重要的是它不容易扩展,因为它几乎只是简单地打印出一些东西。
我想做的是创建一个模块并将其上传到PyPI。但是,如果已经有人创建了与此类似的东西,那么这将是徒劳的努力,我可以简单地fork他们的仓库,而不必从头开始编写代码。
to_string
以表格形式打印它,但它还提供其他选项,例如打印为HTML表格。我还单独编写了代码,使我能够将DataFrame的内容转储到LaTeX表格中。 - ely