使用bs4疤痕考研

时间:2016-11-07 18:41:08

标签: python csv urllib2 bs4 pubmed

我有一个PubMed id的数据集(CSV文件),我需要迭代它并为每个获取标题,年份发布,摘要和MeSH术语,然后我需要将其保存到具有此格式的CSV文件中:

var results = "";
function getFormData(event, val1) {
event.preventDefault(); 
var pw = {
    "site1": "xyzabc",
    "site2": "defghi",
    "site3": "jklmno",
    "site4": "pqrstu",
    "site5": ["id1", "vwxyza"],
    "site6": ["id2", "bcdefg"],
    "site7": "hijklm",
    "site8": ["id3", "nopqrs"],
    "site8": ["id4", "tuvwxy"],
    "site9": ["id5", "zabcde"],
    "site10": "fghijk",
    "site11": ["id6", "lmnopq"],
    "site12": "rstuvw"
};
results = pw[val1];
showResults(results);
}

其中每个项目位于不同的单独列中。 我试图用bs4来做这个并写下来:

id year_published title abstract mesh_terms     

但是,这会引发有关将列表附加到URL的错误。我该如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

CSVfile = open('srData.csv')
fileReader = csv.reader(CSVfile)
Data = list(fileReader)

在这些行之后,Data是一个列表列表。每个子列表是CSV的一行/一行。这意味着当你迭代它时:

for id in Data:

每次都会得到一份清单。更确切地说:

for row in Data:
    id = row[0]

同样"http://www.ncbi.nlm.nih.gov/pubmed/" & id肯定是错的。使用+,而不是&