Python中的长对象

时间:2015-03-06 23:47:30

标签: python csv

我有一个很大的CSV,这是我编写的python脚本的结果。每行包含一个条目列表,当我写的时候是字符串或整数。请注意,我的脚本中的文件有时是在linux或windows平台上创建的(这可能是问题,因此请注意。我是多平台python的新手,所以请原谅我。)

现在,我正在尝试阅读.csv,但根据类型(whatiwant),有些内容会作为长对象进入。我已经尝试了所有我和我的谷歌可以想到将这些对象转换为int(int(),str()。替换为“”,“L”和“/ r”,“/ n”)。然而,当我通过for循环和type()测试列表时,输出说某些东西仍然是长对象。

我在这里缺少什么?我试图寻找长物体的背景信息,但找不到任何有用的东西,因此发布。

我是新生的,所以再次请原谅我的无知。

下雨的时候,倒了。很抱歉搞乱编辑rofl:

我正在读取这样的值(它们在行中写入,作为包含int和字符串值的列表):

Input  = [["header"|"subheader"], [15662466|2831811638], 
        [5662466|27044023]...]
data = []
people_list = []
for entry in input:
    data.append(entry)
for row in data:
    holder = row.split("|")
    person = str(holder([1])
    people_list.append(person.replace.("\r", "").replace("\n","").replace("L", "")
people_list.pop(0)
for person in people_list:
    strperson = str(person)
    intperson = int(strperson)
    print intperson
    print type(intperson)

输出:

2831811683
<type 'long'>
27044023
<type 'int'>

2 个答案:

答案 0 :(得分:1)

他们被视为长期。 Python作为两种数字类型:具有最大值和最小值的int,以及无限制的long。如果数值数据是长而不是int,那就不是问题了。

答案 1 :(得分:0)

long是一种数据类型,只是long而不是int。

更正式long是整数导致整数溢出时使用的数据类型,因此超过sys.maxint的任何内容都会自动将int转换为long

文档:https://docs.python.org/2/library/stdtypes.html#typesnumeric

请注意,在Python 3中,两者之间没有任何意义,因为Python3统一了两种类型。