【发布时间】:2018-10-14 09:39:43
【问题描述】:
希望是一个简单的请求。
我发现当我构建一个 DataFrame 并设置列数据类型然后将其导出到 csv 时,它正在将数字字符串的数据类型转换为整数。
例如一个值可能是“0000”,而 csv 最终的值为 0。但我需要它来保留字符串中的字符数并将 csv 保存为“0000”。
有人知道保留字符串而不是转换后的数据类型的方法吗?
在导入后设置数据类型并不能解决问题(在有人告诉我我可以在导入时/之后设置它之前),因为它会导致在将整数转换为字符串时,您还必须配置前导 0在每次导入时也是如此,这不是最佳的。
希望我忽略了一些简单的事情。
(编辑) 哦,我的导出行只是一个简单的导出,这就是为什么我可能只是没有意识到需要提供的参数。
df.to_csv("Test.csv", index=False)
【问题讨论】:
-
导致问题的列的数据类型是什么? (必须是
object。) -
object 是为该列列出的当前数据类型,但它是一个转换为字符串的数值,以使其始终保持为 4 位数字,包括在使用数字时将其保持为 4 位所需的填充值是说 23 需要是 '0023',因为数字是一个身份
-
等等,你怎么知道前导零被删除了?您是否在 Excel 中打开了 CSV 文件?
-
你能在导出之前展示一个数据框的小样本吗?连同数据类型?
-
@DyZ 向我展示了我的假设的愚蠢性。谢谢你,DyZ。 ASGM 你确实解决了它,而我最初对导入 str 的角度很好。感谢大家向我展示了我错误的简单假设,在打开数据时没有考虑 Excel 转换数据,请先教我不要使用文本编辑器。
标签: python-3.x pandas