【问题标题】:MemoryError when trying to run python programm尝试运行python程序时出现内存错误
【发布时间】:2020-11-05 23:39:40
【问题描述】:

你好python的程序员,我是编程新手,这里是代码的一部分,我想将seqentiel txt文件转换为数据框,但是因为这条线它停止运行 在

    Citations = Citations.join(text_data[i][1:].join(", "))

它停止运行 这是错误


MemoryError                               Traceback (most recent call last)
<ipython-input-8-ea77e42ab01f> in <module>()
     66     ###Traitement List Citation et Nbre Citation
     67   while (text_data[i].find('%') != -1):
---> 68     Citations = Citations.join(text_data[i][1:].join(", "))
     69     CitationsCount = CitationsCount + 1
     70     i = i + 1

MemoryError: 

部分代码如下

while i != len(text_data):

  if (text_data[i].find('*') != -1) : 
    PaperTitle.append(text_data[i][1:])
    Citations = ""
    CitationsCount = 0
    #print("\n PaperTitle :",text_data[i][1:])
    i=i+1

  if (text_data[i].find('@') != -1) :
    Authors.append(text_data[i][1:])
    print("Authors :", text_data[i][1:]) 
    i = i+1
    NbrAuthors.append(0)
    #print("NbrAuthors:", text_data[i][1:])
  
  if (text_data[i].find('t') != -1) :
    Year.append(text_data[i][1:])
    #print("Year : ",text_data[i][1:])
    i=i+1
    
  if (text_data[i].find('c') != -1) :
    PublicationVenue.append(text_data[i][1:])
    #print("PublicationVenue :" ,text_data[i][1:])
    i=i+1

  if (text_data[i].find("index") != -1):
    IdPaper.append(text_data[i][5:])
    #print("IdPaper : ", text_data[i][5:])
    i=i+1

    
    ###Traitement List Citation et Nbre Citation
  while (text_data[i].find('%') != -1): 
    Citations = Citations.join(text_data[i][1:].join(", "))
    CitationsCount = CitationsCount + 1
    i = i + 1
    
  if (text_data[i].find('!')!= -1):
    ListCitations.append(Citations)
    #print("Citations : ",Citations)
    NbrCitations.append(CitationsCount)
    #print("Nbre Citation :",NbrCitations)
    Abstract.append(text_data[i][1:])
    #print("Abstract",text_data[i][1:])
    i=i+1


data = {'PaperTitle': PaperTitle, 
        'Authors': Authors, 
        'NbrAuthors': NbrAuthors, 
        'Year' : Year,
        'PublicationVenue' : PublicationVenue,
        'IdPaper' : IdPaper,
        'ListCitations' : ListCitations,
        'NbrCitations' : NbrCitations,
        'Abstract' : Abstract
        }

如何优化我的代码,以免出现此错误

【问题讨论】:

    标签: python algorithm dataframe data-science


    【解决方案1】:

    内存错误意味着您的程序内存不足。这意味着您的程序以某种方式创建了太多对象。在您的示例中,您必须查找可能会消耗大量内存的算法部分

    【讨论】:

      【解决方案2】:

      您使用的是哪个操作系统? windows, mac, linux ??

      如果您使用的是 Windows 并且您有 32 位英特尔处理器,则可能会出现此错误,当您的计算机内存不足时,要解决此错误,您需要更多内存,

      例如,如果您的所有文件都消耗 3 GB 的数据,那么您在该特定文件夹或驱动器中必须至少有 5 GB 的空间。

      在 Windows 中使用 64 位 Intel 处理器时很少会出现内存错误 , 但即使您收到此错误,您也可能需要安装 python 64bit。

      即使在此之后,问题仍未解决,然后压缩文件/文件夹,以节省至少 20 MB 的磁盘空间。

      即使尝试了这个,问题也没有解决,然后给我发电子邮件, 我的电子邮件是 tevi16@outlook.com

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多