熊猫没有同时识别数值和价值

时间:2016-12-07 17:49:13

标签: python csv pandas

我是Python的新手,并且在我的流程中遇到了一些停顿。

它的作用:读取CSV文件,进行一些重新排列,输出带有重新排列的列和值的新文件。

问题:我的输出CSV必须采用特定格式才能正确使用..这包括所有值(包括标题)周围的引号和填充值(带空格)。

我正在使用PANDAS进行所有计算 重要的逻辑在这里:

 df['QUANTITY1'] = df['QUANTITY1'].astype(str).apply(lambda x: x.ljust(7)).astype(object)
 df['QUANTITY2'] = df['QUANTITY2'].astype(str).apply(lambda x: x.ljust(7)).astype(object)

这些数量值是浮点数,因此为了应用空间填充(ljust),我必须将其转换为字符串。

当我输出csv并编写它时,我使用的是这样的东西:

df.to_csv(writeFileTo, sep=',', encoding='utf-8', index=False, quoting=csv.QUOTE_NONNUMERIC, columns=['STATUS'.ljust(20),'TIME'.ljust(25), 'QUANTITY1', 'QUANTITY1'])

输出效果很好,但问题是QUANTITY1和QUANTITY2列包含带引号的输出(我认为这是因为csv.QUOTE_NONNUMERIC将该列视为字符串,而不是数字)。

所以...我决定将两列改回浮点数,以便它不会在输出中有引号。问题2:当我将值更改为浮点数时,它们不会保留间距(ljust)。我该怎么做才能保持间距,但是熊猫还没有输出报价?!

TLDR;我需要在pandas csv输出中使用ljust或rjust浮点数

0 个答案:

没有答案