如何在python中从csv文件构建带有边框的表格
Posted
技术标签:
【中文标题】如何在python中从csv文件构建带有边框的表格【英文标题】:how to bulid table with borders from csv file in python 【发布时间】:2020-09-05 08:09:31 【问题描述】:我得到了如下所示的 csv 文件:
indiv_number,genename,to_append
0,gene1,[000011]
0,gene2,[101010]
0,gene3,[0101010]
1,gene1,[0101010]
1,gene2,[0101010]
我希望它看起来像这样:
gene1 gene2 gene3
indiv_number
0 [000011] [101010] [0101010]
1 [0101010] [0000] [010101]
3 [1010101] [01010] [00011]
如何做到这一点
【问题讨论】:
如果您使用pandas.to_csv(filename)
,您需要使用可以呈现逗号分隔值的程序(如 excel 或 libre office)打开它。您的第一个输出是一个有效的 csv 文件,但看起来您使用记事本等常规文本编辑器打开了它..
你注意到两个表之间的区别了吗?我需要将内容从列转换为行,这意味着 csv 中的第二列是第二列中的标题
你根本没有提到你是如何得到这些输出的。请查看在 SO here 上提问的指南
第一个输出与我的想象有关,它们都不是真实的,概念是如何在表格之间转换或如何将csv文件更改为类似于第二个结构的表格
【参考方案1】:
首先使用pandas.DataFrame.pivot 将您的数据框转换为所需的结构。然后使用pandas.DataFrame.to_csv 将其与标题和索引(列名和行名)一起保存。
【讨论】:
我已经做了这一步,但是当试图显示保存到 csv 的 df 的输出时,一切都是混合的以上是关于如何在python中从csv文件构建带有边框的表格的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 python3 中从 excel 文件(不是 CSV)创建字典吗?
如何在python中从一个日期访问另一个日期的csv数据[重复]