2

我正在收集推文数据并将其写入 csv 文件。当我在 IDLE 中打印状态 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。这是怎么回事?谢谢!

4

2 回答 2

2

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

于 2012-08-23T18:08:49.317 回答
1

看到这个原因,但归结为 Excel 只处理 15-16 位数字。我在这里做一个假设,但如果你正在拉推文,我假设你正在使用 Twitter API?如果是这样,则有一个id_str字段会将 ID 作为字符串返回,然后您可以将其存储在 CSV 中并在程序的其他位置处理它的转换(有关更多信息,请参见此处)。

于 2012-08-23T18:15:56.137 回答