Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何防止pandas to_csv将数字格式化为数字以保留前导0?_Python_Pandas_Csv - Fatal编程技术网

Python 如何防止pandas to_csv将数字格式化为数字以保留前导0?

Python 如何防止pandas to_csv将数字格式化为数字以保留前导0?,python,pandas,csv,Python,Pandas,Csv,我使用to_csv方法将数据帧保存为csv。但是,正在删除前导0 例如,这是数据帧在输出之前的样子: 正如您在第6列“采购订单”中看到的,数据是数字,但包含前导0。我希望在输出到csv并在Excel中查看时保留该格式并保留前导0,但是在csv输出中,前导0被删除: 有没有办法防止这种情况?这是我正在使用的命令: out1.to_csv(outfile + '.csv', index=False, float_format='%f') 我认为这更像是一个Excel问题,而不是pandas。如

我使用to_csv方法将数据帧保存为csv。但是,正在删除前导0

例如,这是数据帧在输出之前的样子:

正如您在第6列“采购订单”中看到的,数据是数字,但包含前导0。我希望在输出到csv并在Excel中查看时保留该格式并保留前导0,但是在csv输出中,前导0被删除:

有没有办法防止这种情况?这是我正在使用的命令:

out1.to_csv(outfile + '.csv', index=False, float_format='%f')

我认为这更像是一个Excel问题,而不是
pandas
。如果您使用文本编辑器查看csv文件,(我猜),您仍然会看到带前导零的数字。我之所以这样说,是因为我在Excel中遇到过类似的问题,假设项目的格式是CSV文件,并产生不可逆或令人讨厌的转换

在本例中,Excel似乎将采购订单视为一个数字,然后将其格式化。它会在打开文件时立即执行此操作,因此您无法返回并格式化单元格或任何内容(零丢失)

我认为两个简单的选择是:

  • 使用
    df.to\u excel()
    .xlsx
    格式保存。这对我来说是有效的,因为有些假前导零数据。如果您只打算使用Excel中的数据,也许这是最好的
  • 编辑“采购订单”列,使其成为清晰的文本。类似于附加非数字字符(稍后可以删除):

我认为这更像是一个Excel问题,而不是
pandas
。如果您使用文本编辑器查看csv文件,(我猜),您仍然会看到带前导零的数字。我之所以这样说,是因为我在Excel中遇到过类似的问题,假设项目的格式是CSV文件,并产生不可逆或令人讨厌的转换

在本例中,Excel似乎将采购订单视为一个数字,然后将其格式化。它会在打开文件时立即执行此操作,因此您无法返回并格式化单元格或任何内容(零丢失)

我认为两个简单的选择是:

  • 使用
    df.to\u excel()
    .xlsx
    格式保存。这对我来说是有效的,因为有些假前导零数据。如果您只打算使用Excel中的数据,也许这是最好的
  • 编辑“采购订单”列,使其成为清晰的文本。类似于附加非数字字符(稍后可以删除):

你试过使用
float\u format='%.16f'
或类似的东西吗?

你试过使用
float\u format='%.16f'
或类似的东西吗?

完全同意Excel是罪魁祸首。完全同意Excel是罪魁祸首。
df['Purchase Order'] = '#' + df['Purchase Order']
# df.to_csv('data.csv')