如何将图片添加到CSV文件中?

4

我需要在.csv文件中写入一张带有数据的图片。写入数据很简单,但我无法将存储在硬盘上的图像写入其中。我正在使用FileWriter类来实现这一点,并使用.append()向文件中添加项目。如何将图像添加到CSV文件中?


4
二进制数据不适合用于CSV格式。你可以使用Base64编码,但它仍然会非常大,因此并非所有能处理CSV的工具都能很好地处理它。也许只需将图像的文件名(或路径)放入CSV中? - Thilo
1
你的使用场景是什么?也许CSV文件不是最好的存储方式。如果你需要保留数据,使用数据库。如果你正在为Excel创建电子表格,请使用Apache POI和XLS格式。这将允许您添加图像。 - Piotr Gwiazda
Piotr Gwiazda,我的情况是我必须打印(在纸上)包含以下信息的标签:条形码(以.png形式),产品名称,价格,卖家等。除了导出并打印到.csv文件之外,您有更好的想法可以完成此任务吗? - Nitesh Verma
2个回答

11

CSV是一种基于文本的文件格式,而图像则是二进制数据,这两者不太兼容。

最好提供图像的引用(相对路径和名称)并将它们捆绑在一起。


2
您可以像这里讨论的那样使用Zip文件来整合CSV和图像。 - Andrew Thompson
@AndrewThompson 确实,那将是一个不错的捆绑包 ;) - MadProgrammer
做不到,还有其他选项吗? - Nitesh Verma
3
咬紧牙关吧。您将无法在 CSV 文件中“嵌入”图像。最好的选择是像 Andrew 建议的那样,通过在 CSV 中放置图像名称,并将文件捆绑在类似于 zip 文件的东西中,将图像文件链接到 CSV 文件。 - MadProgrammer
@AndrewThompson 存储图像文件的引用并捆绑它可能会起作用,但是将条形码的文本表示(在这种情况下可能是产品ID)存储起来并在读取CSV文件时生成图像不是更简单吗?请参见我的答案... - James Bassett
显示剩余2条评论

3
根据您的评论,最好将条形码的文本表示(以及其他信息,如产品名称、价格等)存储在CSV文件中(而不是嵌入图像或文件名)。然后,在读取CSV文件时,可以使用开源库(例如 Barbecue)动态生成条形码图像。Barbecue支持广泛的条形码和图像格式。

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