将CSV/Excel文件转换为带格式的Excel表格文件

3
背景:

我有一个每天运行的查询。我想将查询结果数据发送给利益相关者,但我需要为他们预先格式化数据,因为他们可能没有必要的技能来将数据格式化为表格。我有SSRS,它非常适合呈现数据,但我仍然希望将文件通过电子邮件发送给他们进行筛选。我可以从查询生成CSV或Excel,并自动化输出的电子邮件,但在未经过表格预格式化之前无法实现。

问题:

我有一个简单的CSV / Excel文件输出来自查询。

cust_id,cust_name
1,bishop
2,ripley

我想将这个CSV/Excel输出文件转换为一个预先格式化的带有标题的可排序、可过滤表格文件,并自动化这个过程。 Excel格式化表格图像 从Python或其他服务器友好的代码片段是否可以实现?无论是CSV >> Excel格式化还是Excel >> Excel格式化,这两种起始文件类型在此情况下都可以。
限制:
我不能安装、更新或导入不属于标准Python库的软件包。

2
我认为你要找的是 XlsxWriter。这里是文档链接:http://xlsxwriter.readthedocs.io/ - Silveris
1
为了读取CSV/Excel文件,我建议使用“pandas”,根据输入使用“pandas.read_csv()”或“pandas.read_excel()”。 - Silveris
我对Python不是很熟悉,但您可以使用VBA实现此目标(不确定这是否适用于您)。我会使用带有VBA的Excel文件来读取csv文件,创建一个新的Excel工作簿,格式化数据,然后使用VBA发送电子邮件。但是,我不确定这是否适用于您? - Zac
使用 XML,这样可以将数据与格式分离。xml 包应该在标准的 Python 安装中可用。 - stovfl
1个回答

2
Python的xlsxwriter应该拥有您所需的所有功能。
模块页面在这里:http://xlsxwriter.readthedocs.io/index.html 表格格式化示例在这里:http://xlsxwriter.readthedocs.io/tutorial02.html 添加自动筛选器的示例在这里:http://xlsxwriter.readthedocs.io/example_autofilter.html 阅读更新后的限制(无法在服务器上安装模块)后,很明显使用xlsxwriter而没有像Anaconda这样的东西是不可行的。回退解决方案未知,我不知道有哪个模块与您所需的功能相同并且附带于标准python安装中。

3
有关单元格合并的示例(由于 OP 的示例中存在合并单元格),我想添加这个链接:http://xlsxwriter.readthedocs.io/example_merge1.html - Silveris
3
值得注意的是,该模块还支持将pandas作为数据源,因此您可能想要研究一下Python pandas作为从脚本导入和导出数据的可能方式:http://xlsxwriter.readthedocs.io/working_with_pandas.html。 - BoboDarph
感谢您的建议。这似乎是一个合适的解决方案。然而,我只能使用现有的Python实现,因为它已经在服务器上运行,我无法安装任何包。我会更新问题。 - AJQShake
1
也有其他的解决方法。例如,如果由于权限问题无法在服务器上安装Python,则可以使用Anaconda等工具。请参阅https://docs.continuum.io/anaconda/packages/pkg-docs以获取包含的软件包,并访问https://www.continuum.io/what-is-anaconda以评估其是否符合您的需求。 - BoboDarph

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接