Python csv - 适合单元格的大小以适合字符串的长度?

Posted

技术标签:

【中文标题】Python csv - 适合单元格的大小以适合字符串的长度?【英文标题】:Python csv - fit cells' size to fit strings' length? 【发布时间】:2019-01-01 21:33:33 【问题描述】:

我正在使用 Python 的 csv 库和 DictWriter 对象将字典写入 csv 文件,如下所示:

with open('test.csv', 'w', newline='') as fp:
    fieldnames = [<fieldnames for csv DictWriter>]

    dict_writer = csv.DictWriter(fp, fieldnames=fieldnames)
    dict_writer.writeheader()
    dict_writer.writerow(<some dictionary here>)

结果是,如果我有一个长名称作为字典的值之一,则单元格如下所示:

但我希望它看起来像 这个

有没有办法让单元格的大小适应字符串的长度?我想这是一个相对常见的问题,因为您不想在每次打开 csv 文件时手动执行此操作。

我怎样才能预先适应它?

【问题讨论】:

问题与 CSV 阅读器有关,在您的情况下似乎是 Microsoft Excel。使用另一种允许您执行此操作的格式怎么样,例如 XLS (***.com/questions/17326973/…) CSV 是一种简单的文本格式(在文本编辑器中打开它就会看到),它不包含有关电子表格程序应如何显示它的信息。有几种方法可以使 Excel 自动适应列宽,请查看this answer on Superuser。 谢谢! :) 链接中的解决方案(有效)是使用StyleFrame 库,该库适用于 xlsx 文件,实际上可以让您修改单元格的宽度。谢谢 【参考方案1】:

CSV 没有格式信息。它只有数据。如何调整单元格大小取决于查看器配置。

如果你真的需要格式化,你应该写成接收应用程序的文件格式(.ods、.xls、.xlsx...)。

【讨论】:

以上是关于Python csv - 适合单元格的大小以适合字符串的长度?的主要内容,如果未能解决你的问题,请参考以下文章

自定义表格单元格未调整大小以适合内容视图

JavaFX - 强制GridPane的子项适合单元格的大小

如何调整自定义 UITableViewCell nib 文件的大小以适合 tableView?

根据 JSON 文件中的内容文本调整带有 UILabel 的自定义单元格的大小

调整 UITableViewCell 的大小以适合标签或图像和圆角

UIImageView 适合自调整大小的 tableview 单元格中的最大宽度