Python数字在csv文件中四舍五入

Python数字在csv文件中四舍五入,python,Python,我正在收集tweet数据并将其写入csv文件。当我在空闲状态下打印状态ID时,一切正常: with open('C:/location/filename.csv', 'wb') as acsv: w = csv.writer(acsv) w.writerow(('ID')) for statusObj in results: statid = statusObj.id w.writerow((statid)) 这会按预期打印状态ID(例如2386

我正在收集tweet数据并将其写入csv文件。当我在空闲状态下打印状态ID时,一切正常:

with open('C:/location/filename.csv', 'wb') as acsv:
    w = csv.writer(acsv)
    w.writerow(('ID'))
    for statusObj in results:
        statid = statusObj.id
    w.writerow((statid))

这会按预期打印状态ID(例如238669617898323968)。但当我打开csv文件进行检查时,最后3位数字四舍五入为238669617898323000。这是怎么回事?谢谢

答案是……不要相信Excel会完全按照输入的数据显示数据。

有关原因,请参见,但归根结底,Excel只处理15-16位数字。我在这里做一个假设,但是如果你在推特,我假设你在使用Twitter API?如果是这样,则有一个
id\u str
字段将以字符串形式返回id,然后您可以将其存储在CSV中,并在程序的其他点处理转换(请参阅以获取更多信息)。

“这将按预期打印状态id”……您确定吗?您的代码中没有
print
语句。我怀疑
结果
@supervaco是的,这是完整代码的编辑版本。我直接从idlear粘贴了状态ID你在Excel中打开文件了吗?Excel有把数字四舍五入的习惯。请在文本编辑器中打开它,以确保它的正确性。@nneonneo该死的,我现在正式觉得自己非常愚蠢。该值在文本编辑器中不舍入。谢谢有没有办法强迫excel不舍入这些值,这样我就可以用它来进行数据分析?我必须承认--你在这个问题上做了一些非常棒的自省。。。(+1)谢谢!我不知道Excel中的这个限制,我看到它在其他类似OpenOffice的软件中也是标准的,这也解释了为什么它也不起作用。