简单的while循环语法错误

时间:2018-05-16 14:40:25

标签: python while-loop syntax

我刚刚开始尝试使用Python来完成我的论文。我想导入一个巨大的csv文件,所以我决定用较小的部分导入它,同时浏览有意义的数据。要导入的csv是20GB,这是我提出的功能:

"""importing 10e6 rows at the time...with 10e7 rows python crashes"""
import pandas as pd
import numpy as np

def screma_dati(file):
    i=1000000
    print("\n...begin skimming...")

    #first reading
    data_values=pd.read_csv(file,nrows=i)
    print("\n\t Dataset:\t"+file)
    print("\n\t part n: 1")

    #further readings
    length_rows=i
    j=i
    while length_rows = i
        except KeyboardInterrupt:
        data=pd.read_csv(file,header=None,nrows=i,skiprow=j)
        shp=np.shape(data)
        length_rows=shp[0]
        idx=data.loc[data["mbaddr"].isin(np_cod)]#np_cod are reference code
        data_values.append(idx)
        j+=i
        print("\n\t part n: " +str(j/i))

    print("\n...end skimming...")

    return data_values

它在编译时给出了语法错误,即使它可能是一个平庸的错误,我也无法弄清楚如何解决它。 这几天我开始使用python,所以函数可能只有很多错误。

PS [offtopic]:这是导入这么大的数据集的好方法吗?

2 个答案:

答案 0 :(得分:1)

while length_rows == i:
    pass

此外,你的缺席"尝试"

 try: 
    something
 except Exception:
    something

答案 1 :(得分:0)

您的语法错误是在您的while条件之后它应该如下所示。并且你错误地使用除了。您可能应该使用尝试来代替。

while length_rows = i:
    try:
        data=pd.read_csv(file,header=None,nrows=i,skiprow=j)
        shp=np.shape(data)
        length_rows=shp[0]
        idx=data.loc[data["mbaddr"].isin(np_cod)]#np_cod are reference code
        data_values.append(idx)
        j+=i
        print("\n\t part n: " +str(j/i))

    except KeyboardInterupt:
        raise   # or just simple pass 

print("\n...end skimming...")

return data_values

希望这能解决你的问题...