Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过URL解析';CSV文件中的s-Python_Python_Pandas_Csv_Dictionary_Append - Fatal编程技术网

通过URL解析';CSV文件中的s-Python

通过URL解析';CSV文件中的s-Python,python,pandas,csv,dictionary,append,Python,Pandas,Csv,Dictionary,Append,我有一个URL的CSV文件,我正试图编写一个代码来循环URL,并在字典中添加特定的变量。不幸的是,每当我尝试使用BeautifulSoup时,程序都不会分离URL,或者只分离第一个URL。我理解这可能是一个简单的问题,但我无法使用类似问题的解决方案来解决这一问题。下面我附上了代码的摘录。谢谢你的指导 csv_data: 'https://www.sec.gov/Archives/edgar/data/78003/000007800313000017,https://www.sec.gov/Arc

我有一个URL的CSV文件,我正试图编写一个代码来循环URL,并在字典中添加特定的变量。不幸的是,每当我尝试使用BeautifulSoup时,程序都不会分离URL,或者只分离第一个URL。我理解这可能是一个简单的问题,但我无法使用类似问题的解决方案来解决这一问题。下面我附上了代码的摘录。谢谢你的指导

csv_data:
'https://www.sec.gov/Archives/edgar/data/78003/000007800313000017,https://www.sec.gov/Archives/edgar/data/78003/000115752312004450,https://www.sec.gov/Archives/edgar/data/78003/000115752312002789,https://www.sec.gov/Archives/edgar/data/78003/000007800313000013,https://www.sec.gov/Archives/edgar/data/78003/000007800313000029,https://www.sec.gov/Archives/edgar/data/78003/000007800312000008,https://www.sec.gov/Archives/edgar/data/78003/000007800314000046'


content = requests.get(csv_data[1]).content
soup = BeautifulSoup(content, 'lxml')

reports = soup.find('myreports')

master_reports = []

for report in reports.find_all('report')[:-1]:

report_dict = {}
report_dict['name_short'] = report.shortname.text
report_dict['category'] = report.menucategory.text
report_dict['url'] = base_url + report.htmlfilename.text

master_reports.append(report_dict)

print(base_url + report.htmlfilename.text)
print(report.shortname.text)
print(report.menucategory.text)

这就是你要找的吗?拆分url列表并循环?如果是这样,您必须收集每个循环的输出,这里没有编码

csv_data = 'https://www.sec.gov/Archives/edgar/data/78003/000007800313000017,https://www.sec.gov/Archives/edgar/data/78003/000115752312004450,https://www.sec.gov/Archives/edgar/data/78003/000115752312002789,https://www.sec.gov/Archives/edgar/data/78003/000007800313000013,https://www.sec.gov/Archives/edgar/data/78003/000007800313000029,https://www.sec.gov/Archives/edgar/data/78003/000007800312000008,https://www.sec.gov/Archives/edgar/data/78003/000007800314000046'
csv_url_list = csv_data.split(',')
for url in csv_url_list:
    content = requests.get(url).content
    soup = BeautifulSoup(content, 'lxml')
    reports = soup.find('myreports')

    master_reports = []

    for report in reports.find_all('report')[:-1]:

    report_dict = {}
    report_dict['name_short'] = report.shortname.text
    report_dict['category'] = report.menucategory.text
    report_dict['url'] = base_url + report.htmlfilename.text

    master_reports.append(report_dict)

    print(base_url + report.htmlfilename.text)
    print(report.shortname.text)
    print(report.menucategory.text)

您的csv数据实际上是一个字符串吗?如果您能展示一个有用的数据示例,它最初是一个列表,然后我使用“df=pd.DataFrame(list1)”将其转换为csv。
csv\u data[1]
未定义。请考虑修复这一点,并确保代码是可复制的。嗨,是的,这就是我要做的,我只是不熟悉循环遍历列表并附加每个循环中的输出信息。你知道的任何例子都适用于我的例子吗?如果你能提供主报告的样子,也许我可以提供一些帮助。不清楚您访问的每个链接的预期输出是什么。数据框、列表、字典等?它是一个包含名称、类别和这些链接中的URL的列表。格式如下:--------------------------------------------------------------------------------------0001000-Document-Cover 1如果导航到,则无法在reports=soup.find('myreports')中获得结果。因此,对于列表中的所有链接,还不清楚您希望如何捕获这些内容。你能发布什么是报告吗?以及报告中的内容。查找所有(“报告”)?