Python 3.x 在下载CSV文件中的数据时中止Python3中的陷阱:6

Python 3.x 在下载CSV文件中的数据时中止Python3中的陷阱:6,python-3.x,csv,Python 3.x,Csv,我正在尝试下载漂亮的50家公司的数据,并将它们作为CSV存储在我的硬盘上。我正在使用下面提到的代码。它成功下载了32家公司的数据,但在此之后,它开始给出错误=“python3(820,0x7000950D000)malloc:*对象0x7f9eba7103b0的错误:未分配被释放的指针 *在malloc\u error\u break中设置断点以进行调试 中止陷阱:6“。我正在使用macbook和终端 import csv import urllib.request as urllib impo

我正在尝试下载漂亮的50家公司的数据,并将它们作为CSV存储在我的硬盘上。我正在使用下面提到的代码。它成功下载了32家公司的数据,但在此之后,它开始给出错误=“python3(820,0x7000950D000)malloc:*对象0x7f9eba7103b0的错误:未分配被释放的指针 *在malloc\u error\u break中设置断点以进行调试 中止陷阱:6“。我正在使用macbook和终端

import csv
import urllib.request as urllib
import datetime as dt
import os
import pandas as pd
import pandas_datareader.data as web
import nsepy as nse

def saveNiftySymbols():
    url = "https://www.nseindia.com/content/indices/ind_nifty50list.csv"
# pretend to be a chrome 47 browser on a windows 10 machine
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"}
    req = urllib.Request(url, headers = headers)
# open the url 
    x = urllib.urlopen(req)
    sourceCode = x.read().decode('utf-8') 

    cr = csv.DictReader(sourceCode.splitlines())
    l = [row['Symbol'] for row in cr]
    return l

def fetchDataFromNse(l):
    if not os.path.exists('stock_dfs'):
        os.makedirs('stock_dfs')

    start = dt.datetime(2000, 1, 1)
    end = dt.datetime.today()

    for symbol in l:
        if not os.path.exists('stock_dfs/{}.csv'.format(symbol)):
            df=nse.get_history(symbol,start, end)
            df.to_csv('stock_dfs/{}.csv'.format(symbol))
        else:
            print('Already have {}'.format(symbol))

fetchDataFromNse(saveNiftySymbols())

这似乎是一个与mac上的python安装相关的bug,请查看这篇文章,它有点旧,但问题是相同的

我安装了ipython和gnureadline,并再次运行该程序。它给出了相同的错误,然后我做了一些不同的事情,我将导入操作系统从第4行移动到第1行,然后再次运行程序,它成功了。我不知道到底是什么问题,但谢谢你的帮助。