排行榜

  • 用户榜
  • 标签榜
  • 冲榜分奖金

频道

最新最热悬赏待采纳 筛选
  • 2

    回答

  • 24

    浏览

#这部分包括写入文件 和调用部分 def excel(items): newTable = "test.xls" wb = xlwt.Workbook("encoding='utf-8") ws = wb.add_sheet('sheet1') headDate = ['index', 'img', 'title', 'actor', 'time', 'score'] for i in range(0,6): ws.write(0, i, headDate[i], xlwt.easyxf('font: bold on')) index = 1 print('---------------') for data in items: print('---------------') for i in range(0,5): print(data[i]) ws.write(index, i, data[i])#只要分配好 自己塞入 index += 1 wb.save(newTable) def main(count): url = 'https://maoyan.com/board/4' + str(count) html = get_one_page(url)#第一页数据 for item in parse_one_page(html):#item为一页中的第一条 excel(item)#依次写入这个页面的一条 一条 if __name__ == '__main__': for j in range(10): main(count = j*10) time.sleep(1) 这里我用for循环想爬取100个(10页)信息 才提示的错误 但我如果只爬10个(一页)就不会提示错误 这是为什么???  

回答 墨绿Zz
采纳率37.5%
29天前
  • 1

    回答

  • 21

    浏览

数据表里有英文原句,也有句子中每个单词的词性。要在python根据数据表判断每个单词是什么词性 import sqlite3 #连接数据库 #获取原句 conn = sqlite3.connect('label.db') cur = conn.cursor() sql = "select sentence from label" cur.execute(sql) sentences = cur.fetchall() #获取第一句的名词 sql_2 = "select noun from label" cur.execute(sql_2) nouns = cur.fetchall() noun1 = nouns[0] #获取第一句的动词 sql_3 = "select verb from label" cur.execute(sql_3) verbs = cur.fetchall() verb1 = verbs[0] for n in noun1: list_n = n.split(',') for v in verb1: list_v = v.split(',') #拿到第一句的每个单词 for words in sentences[0]: word1 = words.replace('.', '') word2 = word1.split() www = [] for w in word2: if w in list_n: w_n = " "+'<font color="red">' + w + " "+ '</font>' www.append(w_n) elif w in list_v: w_v = " "+'<font color="green">' + w + " " + '</font>' www.append(w_v) else: w1 = " "+ w +" " # print('<span>' + w + '</span>') www.append(w1) se2 = "".join(www) print(se2) 只能做到第一句,没办法做到多个句子一起判断

  • 1

    回答

  • 12

    浏览

#片名链接 <img src="https://img3.doubanio.com/f/sns/5741f726dfb46d89eb500ed038833582c9c9dcdb/pics/sns/doulist/ic_play_web@2x.png" style="width: 16px; vertical-align: text-top;"/> 肖申克的救赎 The Shawshank Redemption </a> #图片链接 <img src="https://img2.doubanio.com/view/photo/s_ratio_poster/public/p480747492.jpg"/> #提取片名 ??? #提取图片 #findImgSrc = re.compile(r'<img src = (.*?)>') 正在学习python爬虫知识,前些阵子写代码遇到一些问题,想爬豆瓣上的电影信息,目前图片和片名的提取方式可能有误,用findall得到的数据输出全是[],不知道该咋办了,图片前两行是原网页的信息,”提取片名“目前不知道怎么写了,“提取图片”那里错误也不知道在哪,希望有大佬来解惑,十分感谢!!!

回答 鐘鐘空
采纳率85.7%
26天前
  • 2

    回答

  • 30

    浏览

在爬取豆瓣网页时遇到这种情况,想要爬取片名信息,但是发现不同片名的标签种类不同,给爬取工作造成了一些困难,具体情况如下 不难想电影“这个杀手不太冷的”的片名获取途径可如1.1代码所示,1为其在原网页的代码  1. <div class="title"> <a href="https://movie.douban.com/subject/1295644/" target="_blank"> 这个杀手不太冷 Léon </a> 1.1 findTitle = re.compile(r'<div class="title">\n<a href=".*">\n\s*(.*?)\s*</a>') for item in soup.find_all('div', class_="bd doulist-subject"): item = str(item) print(titles) titles = re.findall(findTitle, item) print(titles) 而电影“肖申克的救赎”片名获取途径可如2.1代码所示,2为其在原网页的代码 2. <div class="title"> <a href="https://movie.douban.com/subject/1292052/" target="_blank"> <img style="width: 16px; vertical-align: text-top;" src="https://img3.doubanio.com/f/sns/5741f726dfb46d89eb500ed038833582c9c9dcdb/pics/sns/doulist/ic_play_web@2x.png"> 肖申克的救赎 The Shawshank Redemption </a> 2.1 findTitle = re.compile(r'<div class="title">\n<a href=".*">\n<img src=".*"/>\s*(.*?)\s*</a>') for item in soup.find_all('div', class_="bd doulist-subject"): item = str(item) print(titles) titles = re.findall(findTitle, item) print(titles)  两个源代码的区别就是否有“<img src="https://img3.doubanio.com/f/sns/5741f726dfb46d89eb500ed038833582c9c9dcdb/pics/sns/doulist/ic_play_web@2x.png" style="width: 16px; vertical-align: text-top;"/>” 即爬取时compile对象里是否加“<img src=".*"/>” 这里写成“<img src=".*"/>?”显然是不行的,起不到判断的作用(好像“?”不能作用到Tag上?原来并没有遇到过这种状况) 而且写成“(<img src=".*"/>)?”会运行成: [('<img src="https://img3.doubanio.com/f/sns/5741f726dfb46d89eb500ed038833582c9c9dcdb/pics/sns/doulist/ic_play_web@2x.png" style="width: 16px; vertical-align: text-top;"/>', '肖申克的救赎 The Shawshank Redemption')] 所以目前是不清楚怎么同时去爬取这两片名,希望有人来帮忙解惑      

回答 鐘鐘空
采纳率85.7%
25天前
  • 1

    回答

  • 26

    浏览

我有一行数据,555544444333364 我想以4个窗口为基础,四个窗口内的数字如果都不一样,则都变成窗口之前的数字,对上面的数据进行类似滤波的操作。 例如:输出成5555444444333333

回答 a2412478138
采纳率0%
25天前
  • 7

    回答

  • 75

    浏览

如以下代码所示,为什么newlist打印出来后,medicine__name 里加了  '|' 。循环里只给id2order里的medicine__name进行了添加 '|' 赋值。 代码: retlist=[{'id': 1, 'name': '华山医院订单001',' create_date': "2018-12-26T14:10:15.419Z",' customer_name': "华山医院",'medicines_name': "青霉素"}, {'id': 1, 'name': "华山医院订单001",' create_date': "2018-12-26T14:10:15.419Z",' customer_name': "华山医院",'medicines_name': "红霉素"}, {'id': 2, 'name': "华山医院订单002", ' create_date': "2018-12-26T14:11:15.419Z", ' customer_name': "华山医院",'medicines_name': "蓝霉素"}] newlist = [] id2order = {} for one in retlist: orderid=one['id'] if orderid not in id2order: newlist.append(one) id2order[orderid]=one else: id2order[orderid]['medicines_name'] =id2order[orderid]['medicines_name']+ ' | ' + one['medicines_name'] print(newlist)  

  • 1

    回答

  • 18

    浏览

 中间用“|”连接两个Tag findTitle = re.compile(r'<div class="title">\n<a href=".*">\n<img src=".*"/>\s*(.*?)\s*</a>'|'<div class="title">\n<a href=".*">\n\s*(.*?)\s*</a>')  运行出错: TypeError: unsupported operand type(s) for |: 'str' and 'str' 请问这种情况正则表达式改怎么写呢?  

回答 鐘鐘空
采纳率85.7%
24天前
  • 1

    回答

  • 39

    浏览

在python中,我有很多数据,每个的编号在100000000-999999999之间,并不连续,除了文件操作外,有什么办法可以存储他们,用列表的话怎么直接给某个很大的位数赋值,或者有有没有其它办法

回答 AO656
采纳率100%
21天前
  • 3

    回答

  • 14

    浏览

有一个列表a = [-8.5255667854798763000000000000000000000000e-004,-1.1920101353466801000000000000000000000000e+000,+1.9798098553916595000000000000000000000000e-004],  b = 2。 在执行a+b时,为啥我的a值经过四舍五入才计算?怎么使它保持列表里的值进行计算?

  • 1

    回答

  • 25

    浏览

假设有一个不知道单词长度的英文句子: How are you 需求是将这个字符串求出所有组合方式并以数组输出如下: #数组忘记去重 [hay, hao, hau, hry, hro, hyu, hey, heo, heu, oay, oao, oau, ory, oro, oyu, oey, oeo, oeu, way, wao, wau, wry, wro, wyu, wey, weo, weu]  

  • 4

    回答

  • 49

    浏览

读入一个整数列表,输出删除最大元素和最小元素后的列表。最大元素和最小元素可能有多个。  

  • 5

    回答

  • 60

    浏览

除了pprint! 如果是列表中有字典,怎么去掉列表得到纯字典

  • 2

    回答

  • 20

    浏览

import jieba.posseg as pseg import operator import warnings import os from tqdm import tqdm import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np warnings.filterwarnings('ignore') class Word():     def __init__(self, char, freq=0, deg=0):         self.freq = freq         self.deg = deg         self.char = char     def returnScore(self):         return self.deg / self.freq     def updateOccur(self, phraseLength):         self.freq += 1         self.deg += phraseLength     def getChar(self):         return self.char     def updateFreq(self):         self.freq += 1     def getFreq(self):         return self.freq def notNumStr(instr):     for item in instr:         if '\u0041' <= item <= '\u005a' or ('\u0061' <= item <= '\u007a') or item.isdigit():             return False     return True def run(rawText):     swLibList = [line.rstrip('\n') for line in open('./dataset/1893(utf8).txt', 'r', encoding='utf-8')]     conjLibList = [line.rstrip('\n') for line in open('./dataset/spw.txt', 'r', encoding='GB2312')]     rawtextList = pseg.cut(rawText)     textList = []     listofSingleWord = dict()     lastWord = ''     poSPrty = ['m', 'x', 'uj', 'ul', 'mq', 'u', 'v', 'f']     meaningfulCount = 0     checklist = []     for eachWord, flag in rawtextList:         checklist.append([eachWord, flag])         if eachWord in conjLibList or not notNumStr(                 eachWord) or eachWord in swLibList or flag in poSPrty or eachWord == '\n':             if lastWord != '|':                 textList.append("|")                 lastWord = "|"         elif eachWord not in swLibList and eachWord != '\n':             textList.append(eachWord)             meaningfulCount += 1             if eachWord not in listofSingleWord:                 listofSingleWord[eachWord] = Word(eachWord)             lastWord = ''     newList = []     tempList = []     for everyWord in textList:         if everyWord != '|':             tempList.append(everyWord)         else:             newList.append(tempList)             tempList = []     tempStr = ''     for everyWord in textList:         if everyWord != '|':             tempStr += everyWord + '|'         else:             if tempStr[:-1] not in listofSingleWord:                 listofSingleWord[tempStr[:-1]] = Word(tempStr[:-1])                 tempStr = ''     for everyPhrase in newList:         res = ''         for everyWord in everyPhrase:             listofSingleWord[everyWord].updateOccur(len(everyPhrase))             res += everyWord + '|'         phraseKey = res[:-1]         if phraseKey not in listofSingleWord:             listofSingleWord[phraseKey] = Word(phraseKey)         else:             listofSingleWord[phraseKey].updateFreq()     outputList = dict()     for everyPhrase in newList:         if len(everyPhrase) > 5:             continue         score = 0         phraseString = ''         outStr = ''         for everyWord in everyPhrase:             score += listofSingleWord[everyWord].returnScore()             phraseString += everyWord + '|'             outStr += everyWord         phraseKey = phraseString[:-1]         freq = listofSingleWord[phraseKey].getFreq()         if meaningfulCount != 0:             if freq / meaningfulCount < 0.01 and freq < 3:                 continue         else:             pass         outputList[outStr] = score     sorted_list = sorted(outputList.items(), key=operator.itemgetter(1), reverse=True)     return sorted_list[:20] def plot(x, y, title):     mpl.rcParams['font.sans-serif'] = ['STZhongsong']     mpl.rcParams['axes.unicode_minus'] = False     plt.plot(x, y)     plt.xticks(rotation=-25)     plt.xlabel('word')     plt.ylabel('score')     plt.title(title)     plt.legend()     plt.show() def get_tags():     path = './processed_data/'     file_list = os.listdir(path)     for file in tqdm(file_list):         data2p = ''         word = []         score = []         with open(path + file, 'r', encoding='utf-8') as fin:             for lin in fin:                 line = lin.strip()                 data2p = data2p + line + ' '         res = run(data2p)         for r in res:             word.append(r[0])             score.append(r[1])         # print(word)         # print(score)         plot(word, score, file) if __name__ == '__main__':     get_tags()  

回答 qq_22839957
采纳率25%
17天前
  • 0

    回答

  • 4

    浏览

各位好:我使用Python的xlrd2.open_workbook()读取xlsx的excel文件,使用xlutils.copy.copy()方式来进行编辑插入数据,目前在执行方法的时候,该代码xlutils.copy.copy()会报错“index out of range”问题,经过大量时间排查,我确认到问题的原因,当excel表格第一行内容中存在空白单元格时,并且这个空白单元格没有操作所有行最大列数时,他就会报这个错误,比如我第一行数据有4格单元格,1   2    3    4,第二行单元格有五个数据    A    B    C    D     E,这个时候,第五列第一行是空白的,第二行是有一个字母E的,这时候就会报错我说的“index out of range”,有哪位大佬知道如何解决这个报错了,查了很多地方,发现像我这种不规律表格数据几乎没有啊,我这个表格没有办法,第一行必定存在一些空白单元格的,有办法解决么

  • 5

    回答

  • 91

    浏览

最初的字符串列表 ['A', 'A+', 'A-', 'AA', 'AA+', 'AA-', 'AAA', 'B', 'B-', 'BB', 'BB+', 'BBB', 'BBB+', 'BBB-', 'C', 'CC', 'CCC'] 最终要求的结果 ['A', 'A+', 'A-', 'AA', 'AA+', 'AA-', 'AAA', 'B', 'B-', 'BB', 'BB+', 'BBB', 'BBB+', 'BBB-', 'C', 'CC', 'CCC']   排序规则 1. A>B>C 2. AA+ > AA > AA- (这里的+-是我的问题根源所在)   目前有一个这样的逻辑,自己有点糊涂了,得到的结果和最终要求不一样 from functools import cmp_to_key def cmp(s1, s2): list1 = list(s1) list2 = list(s2) # sort_dict = {"+": -1, "-": -2} sort_dict = {"-": 1} while list1 and list2: value1 = list1.pop(0) if sort_dict.get(value1): value1 = sort_dict.get(value1) value2 = list2.pop(0) if sort_dict.get(value2): value2 = sort_dict.get(value2) if isinstance(value1, str): value1 = ord(value1) if isinstance(value2, str): value2 = ord(value2) if value1 == value2: continue elif value1 > value2: return -1 else: return 1 if list1: return -1 else: return 1 str_list = ['A', 'A+', 'A-', 'AA', 'AA+', 'AA-', 'AAA', 'B', 'B-', 'BB', 'BB+', 'BBB', 'BBB+', 'BBB-', 'C', 'CC', 'CCC'] str_list.sort(key=cmp_to_key(cmp), reverse=True) 有哪位朋友帮忙指点一二,如果您有更好的方法,麻烦您帮忙解答一下,非常感谢~~~~  

  • 2

    回答

  • 51

    浏览

应该是有的用户没有生日那一行,才出现了错误。但我不知道怎么改,请帮忙看看,谢谢。 # 代码来自龙王山小青椒https://www.bilibili.com/video/BV1M64y1u7wE import requests from lxml import etree from collections import OrderedDict from urllib.parse import quote import csv import traceback import random import re from time import sleep import os from datetime import datetime, timedelta import sys import numpy as np import pandas as pd import time header = {'Content-Type':'xx','User-Agent':'xx'} Cookie = {'Cookie':'xxx'} # 导入用户id weibo_comment_df = pd.read_csv('weibo_comment.csv') weibo_comments = weibo_comment_df.values.tolist() print(len(weibo_comments)) for i in range(len(weibo_comments)): url_base_1 = "https://weibo.cn/" url_base_2 = "/info" url = url_base_1 + str(weibo_comments[i][0]) + url_base_2 print(i) print(url) html = requests.get(url, headers=header, cookies=Cookie) html.encoding='utf-8' nickname = re.findall(r'<div class="c">昵称:(.*?)<br/>', html.text) sex = re.findall(r'<br/>性别:(.*?)<br/>', html.text) location = re.findall(r'<br/>地区:(.*?)<br/>', html.text) birthday = re.findall(r'<br/>生日:(.*?)<br/>', html.text) if birthday == []: data1 = [(nickname[0], sex[0], location[0], ' ')] else: data1 = [(nickname[0], sex[0], location[0], birthday[0])] data2 = pd.DataFrame(data1) print(data2) print(type(data2)) data2.to_csv('id_2011.csv') time.sleep(1)  

回答 weixin_43419828
采纳率50%
12天前
  • 5

    回答

  • 34

    浏览

return an array containing the elements of v but without the first and last elements, and the remaining elements in reverse order. The code should print [3 1 2 4]   import numpy as np v = np.array([9, 4, 2, 1, 3, 8]) new_v = v[1:-1][::-1] print(new_v)   new_v 括号的右边要小于12 characters的长度      

  • 1

    回答

  • 27

    浏览

现在问题是这样,前端在一个from表单里提交了一些参数和图片,还有PDF文件等,我接到的参数打印出来是这样的 print(request.POST) 》》》 <QueryDict: {'project_member': ['123'], 'lawCase_uuid': ['4495a17de3251084a54eb3c10b4280ad'], 'user_id': ['admin'], 'law_case': ['123'], 'courtname': ['123'], 'proposer': ['123'],  }> print(request.FILES) 》》》 <MultiValueDict: {'power_attorney_file': [<InMemoryUploadedFile: 123.jpg (image/jpeg)>], 'power_attorney': [<InMemoryUploadedFile: 1.png (image/png)>]}> print(type(request.FILES) 》》》 <class 'django.utils.datastructures.MultiValueDict'> 接口文件获取,参数获取都正常,也保存好了,现在有个问题是,当对这个界面进行编辑的时候,前端需要我传送他当时传给我的files那种类型的,他才可以在之前的上传框中将图片和文件存入和显示,目前就是我用 FileResponse 这种方式原始的HttpResponse的方式都没能解决,这个是我的问题还是前端取值的问题?这方面经验没有,希望有人可以指点指点!  

  • 3

    回答

  • 19

    浏览

在第一个函数district_parse中,detail2是一个列表字典,里面包含多个字典,我想将这些字典作为参数循环传入meta,但总是只能传入第一个字典,有什么解决办法? def district_parse(self,response): item2 = response.meta["item"] Data2 = json.loads(re.findall(r'[(](.*?)[)]', response.text)[0]) detail2 = Data2['data']['list'] for loop1 in detail2: item2["district_time"] = loop1["timeHuman"] item2["district_name"] = loop1["district_name"] item2["district_congest"] = loop1["index"] item2["district_speed"] = loop1["speed"] item2["district_length"] = loop1["length"] url = "https://www.example.com" yield Request(url, meta={"item2": copy.deepcopy(item2)}, callback=self.curvehistory_parse) def curvehistory_parse(self,response): item3 = response.meta.get('item2') Data3 = json.loads(re.findall(r'[(](.*?)[)]', response.text)[0]) detail3 = Data3['data']['list'] for loop2 in detail3: item3["index"] = loop2["index"] item3["indexHis"] = loop2["indexHis"] item3["date"] = loop2["time"] yield copy.deepcopy(item3)  

  • 4

    回答

  • 31

    浏览

a =0.01 0.02 0.03 0.04 怎么改成[0.01,0.02 ,0.03]

回答 pc_888
采纳率0%
7天前
  • 0

    回答

  • 4

    浏览

sortedlist = [20,44,48,55,63,88,91,99] target=55 def bindseach(target,sortedlist): left=0 right=len(sortedlist)-1 while left <= right: mid=(left+right)//2 if target == sortedlist[mid]: return mid elif target <sortedlist[mid]: right =mid -1 else: left=mid + 1 return "不在其中" bindseach(target=target,sortedlist=sortedlist) 控制显示如下: D:\好好学习python\SoftWareSpace\Python\python.exe "D:/好好学习python/WorkSpace/py case/chap/二叉搜索法.py" Process finished with exit code 0  

回答 zsp滚去学习
采纳率100%
7天前
  • 2

    回答

  • 20

    浏览

我在jupyter执行很正常的代码,在pycharm里就不能正常执行,我在哪个文件能找到jupyter所使用的全部库,然后我全部都复制到pycharm里,该如何复制。有没有能够两个软件共用库

  • 4

    回答

  • 18

    浏览

#记事本(input.txt)内容如下:   "The Canterbury Tales" by Chaucer, G.  "The Canterbury Taless" by Chaucer, B.  "Algorithms" by Sedgewick, R.  "The C Programming Language" by Kernighan, B. and Ritchiee, D.  "The C Programming Languag" by Kernighan, B. and Ritchiee, D.  "The D Programming Language" by Kernighan, B. and Ritchiee, D.  "A House for Mr. Biswas" by Naipaul, V.S.  "A Congo Diary" by Naipaul, V.S.  END #说明:引号内是书名,by后面是作者名 #规则:作者名优先排序,作者名相同按书名排序 ------谢谢各位大佬-------  

  • 4

    回答

  • 47

    浏览

如上图,假设有这么一个类似的表,我想要知道表中字段值为1的字段,并将其列名组合输出。 目的是得知存在多少不同组合,并统计出不同组合出现的频数。 代码苦手是想用excel实现的,但实际上有上百个字段,数据量也不少,所以希望能用python解决。 急!!!希望能得到完整的代码解答!!!!

  • 3

    回答

  • 28

    浏览

b=['123','32','980'] b=str(b) print(type(b)) b.rstrip('[') print(b) 我把表b转为了字符串,type(b)返回的也是str,可是用rstrip去除不了 符号‘[’ 求解释下。。。。

回答 有点难的初学者
采纳率38.5%
11小时前