Raj*_*Raj 5 python xml linux dataframe pandas
我正在从 465 个网页中提取 xml 数据,并使用 python 数据框将其解析并存储在“.csv”文件中。程序运行 30 分钟后,程序保存“200.csv”文件并自行杀死。命令行执行显示“Killed”。但是当我分别运行前 200 页和其余 265 页的程序进行提取时,它运行良好。我在互联网上彻底搜索过,这个问题没有正确的答案。你能告诉我可能是什么原因吗?
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
Run Code Online (Sandbox Code Playgroud)
提前致谢!
看起来你的内存不足了。
您可以尝试增加允许的内存(快速解决方案)
或优化代码以减少内存消耗(最佳解决方案)
如果速度不是所要求的,您可以尝试将数据保存到临时文件并在需要时从中读取,但我猜想 for 循环可以在不使用文件系统的情况下进行优化以减少内存消耗。
毕竟,内存是循环应该存在的地方。
尝试无阻塞地运行您的代码
trycatch
| 归档时间: |
|
| 查看次数: |
1282 次 |
| 最近记录: |