命令行:Python程序说;“杀死”;
我正在从465个网页中提取xml数据,并使用python dataframe解析并将其存储在“.csv”文件中。在运行程序30分钟后,程序保存“200.csv”文件并自杀。命令行执行显示“Killed”。但当我分别为前200页和其余265页运行程序进行提取时,它运行得很好。我在网上彻底搜索了一下,没有找到这个问题的正确答案。你能告诉我是什么原因吗命令行:Python程序说;“杀死”;,python,xml,linux,pandas,dataframe,Python,Xml,Linux,Pandas,Dataframe,我正在从465个网页中提取xml数据,并使用python dataframe解析并将其存储在“.csv”文件中。在运行程序30分钟后,程序保存“200.csv”文件并自杀。命令行执行显示“Killed”。但当我分别为前200页和其余265页运行程序进行提取时,它运行得很好。我在网上彻底搜索了一下,没有找到这个问题的正确答案。你能告诉我是什么原因吗 for i in list: addr = str(url + i + '?&$format=json') response
for i in list:
addr = str(url + i + '?&$format=json')
response = requests.get(addr, auth=(self.user_, self.pass_))
# print (response.content)
json_data = response.json()
if ('d' in json_data):
df = json_normalize(json_data['d']['results'])
paginate = 'true'
while paginate == 'true':
if '__next' in json_data['d']:
addr_next = json_data['d']['__next']
response = requests.get(addr_next, auth=(self.user_, self.pass_))
json_data = response.json()
df = df.append(json_normalize(json_data['d']['results']))
else:
paginate = 'false'
try:
if(not df.empty):
storage = '/usr/share/airflow/documents/output/' + i + '_output.csv'
df.to_csv(storage, sep=',', encoding='utf-8-sig')
else:
pass
except:
pass
提前谢谢 看起来您的内存不足 您能否尝试增加允许的内存(快速解决方案)
或者优化代码以减少内存消耗(最佳解决方案) 如果速度不是所要求的,您可以尝试将数据保存到临时文件中,并在需要时从中读取数据,但我想可以优化for循环以减少内存消耗,而无需使用文件系统。
毕竟,内存是循环应该存在的地方 尝试运行代码而不使用
Try
捕获
块
如果程序被终止,很可能是内存不足。我建议你分批分析你的文件,比如说一次20-40个文件,导出它们,然后连接导出的文件。我并不是把这些文件连接在一起。我正在解析每个网页并将其存储在不同的csv文件中。但它有465个网页和465个“.csv”文件。谢谢在这种情况下,也许可以发布您的代码,以便我们可以建议更改。需要更多信息来帮助您。看看这里:@Alex代码上传了。如果你有任何问题,请告诉我。谢谢你有没有在系统日志中看到类似“OOM Killer”的东西?很可能是这样的
dmesg
应该有一个条目,指出进程已被终止,因为它已用完memory@Stevan,我在没有try-and-catch块的情况下尝试并运行了代码,但仍然不起作用。@raj好的,您是否尝试增加内存限制?这台机器有多少可用内存?@StevanTosic我正在linux服务器上运行我的程序。有没有办法提高它?ThanksTraceback(最后一次调用):文件“winning.py”,第103行,在main()文件“winning.py”,第100行,在main cred.Successfactors()文件“winning.py”,第71行,在Successfactors json_data=response.json()文件/usr/local/lib/python2.7/dist packages/requests/models.py,第896行,在json return complexjson.loads中(self.text,**kwargs)文件“/usr/local/lib/python2.7/dist packages/requests/models.py”,第860行,在text content=str(self.content,encoding,errors='replace')MemoryError中。-------------这就是我现在遇到的错误。