为啥 xlsxwriter 在我的单元格开头写 '
Posted
技术标签:
【中文标题】为啥 xlsxwriter 在我的单元格开头写 \'【英文标题】:Why does xlsxwriter write ' at the start of my cells为什么 xlsxwriter 在我的单元格开头写 ' 【发布时间】:2021-10-23 13:58:30 【问题描述】:这是我的代码:
import xlsxwriter
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()
# Some data we want to write to the worksheet.
# Write a total using a formula.
worksheet.write_string(0, 0, '99999999001')
worksheet.write_string(0, 1, '99999999001')
worksheet.write_string(0, 2, '99999999001')
worksheet.write_string(0, 3, '99999999001')
worksheet.write_string(0, 4, '99999999001')
worksheet.write_string(0, 5, '99999999001')
workbook.close()
我正在使用
Ubuntu 20.04.2 LTS
XlsxWriter==3.0.1
LibreOffice 计算 版本:6.4.7.2
在 Libre 办公室单元格中包含以下内容: '99999999001 - 为什么 XlsxWriterr 在我的单元格开头添加撇号?
【问题讨论】:
【参考方案1】:您在 Libreoffice 中的号码前的撇号仅说明单元格格式为 text
类型。它实际上不是单元格内容的一部分。有关详细信息,请参阅此链接:https://forum.openoffice.org/en/forum/viewtopic.php?f=9&t=49046
仅用于演示,在 Microsoft Excel 中打开生成的文件时,其中没有撇号:
【讨论】:
【参考方案2】:将其解释为字符串,而不是数字。
如果值为“000123”,默认情况下,XLSX 会将其视为数字,您将看到“123”作为单元格值。缺少前导“零”。
如果前缀为撇号'
,它将被视为文本,您将看到原始输入“000123”。前导零不会消失。
前缀撇号非常有用,尤其是在您存储电话号码、社会身份号码、区号、会员编号或任何前导零对其数据识别至关重要的产品代码时。
【讨论】:
谢谢你的回答,我会选择另一个答案,因为它包含一个重要的细节 - 它实际上不是单元格内容的一部分,但我给了你一个加号,谢谢帮助 @Vasily 您使用的是worksheet.write_string( )
,这表明您存储的是text
,而不是数字。因此,XLSX 会将单元格值标记为TEXT
以上是关于为啥 xlsxwriter 在我的单元格开头写 '的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的单元格在我的 UITableView 中显示为空白?
为啥我的 UICollectionView 单元格在我的 swift ios 应用程序中不可点击?
如何强制Python XlsxWriter以自定义格式写入单元格
为啥我的视频没有显示在我使用 AVPlayer 的滚动视图的单元格中