【问题标题】:string formating python to csv file字符串格式化python到csv文件
【发布时间】:2020-07-29 20:44:35
【问题描述】:

我有一本要写入 CSV 文件的字典。在写入字符串值时,它变为浮点数。但我需要 CSV 文件中的相同字符串值不浮动。有什么想法吗?

mydict={'date':int(20200729),'number':int(123),'code':int(707),'cipher':str('54545417e92')}
print mydict.values()
with open('formatting.csv','ab') as f:
    w=csv.writer(f)
    w.writerow(mydict.keys())
    w.writerow(mydict.values())

【问题讨论】:

    标签: python-3.x csv dictionary csvfix


    【解决方案1】:

    手动增加列宽,你会看到格式变化。

    由于您正在编写一个 csv 文件(与 xlsx 不同,它不包含自己的样式和格式),它与 Python 无关,并且 Python 无法使 Excel 使用特定格式。

    【讨论】:

    • 是的,我手动尝试过,但结果相同。因为我需要 csv 文件
    【解决方案2】:

    就像 DeepSpace 所说,这来自于 excel 正在做的事情,而不是来自 python 在做的事情。但是根据我的经验,一旦 excel 打开文件并假设您的数据是浮点数,您就无法恢复该精度。我建议通过使用文本编辑器而不是 excel 打开 .CSV 文件来查看原始数据。

    如果您必须在 excel 中打开文件,则可以使用不同的方法。打开一个空白的 Excel 文档,然后转到数据选项卡并单击“来自文本/CSV”。然后按照提示使用向导导入数据。这样可以确保数据类型不会从字符串变为浮点数。

    编辑 - 作为旁注,我看到您用“python 3.x”标记了您的问题,但在您的示例中,您使用了 print "a string" 的旧 python 2 语法。从 python 3.0 开始,必须使用print("a string")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-03
      • 2019-11-28
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      • 1970-01-01
      相关资源
      最近更新 更多