栖' 2019-08-07 14:52 采纳率: 0%
浏览 675

pandas写入csv,字段行业一直重复怎么解决???

import requests
import json
import re
import csv
import pandas as pd

获取每个电影分类链接的函数

def get_movie_type():
url='https://movie.douban.com/chart'
resp=requests.get(url)
result=re.findall(r'(.*?)',resp.text)
return result

获取每种电影前100部:

def get_movie_rank(type_url):
type_url = 'https://movie.douban.com/j/chart/top_list?' + type_url[23:] + '&start=0&limit=100'
resp=requests.get(type_url)
return resp.text

存储

def save(movie):
movie=pd.DataFrame([movie],columns=['类型','电影名称','地区','上映日期','评分','排行','地址'])
movie.to_csv(r'C:\Users\Administrator\Desktop\python\练习\第五周作业_周峰\test3.csv',mode='a',index=None)

def run():

types_url=get_movie_type()
for url in types_url:
    global movie_type_name
    movie_type_name = url[1]
    print('正在储存'+movie_type_name+'类型的电影')
    type_url = url[0]
    result=get_movie_rank(type_url)

    #json解析
    result=json.loads(result)

    #获取所需电影信息

    for massage in result:
        #global title,regions,release_date,score,rank,movieurl
        title=massage['title']
        regions=massage['regions'][0]
        release_date=massage['release_date']
        score=massage['score']
        rank = massage['rank']
        url = massage['url']

        movie=[movie_type_name,title,regions,release_date,score,rank,url]



        # 储存包含电影信息
        save(movie)
    print(movie_type_name + '的类型储存完毕!')

run()

图片说明

  • 写回答

3条回答 默认 最新

  • 拉灯的小手 博客专家认证 2019-08-09 15:57
    关注
        with open("demo.csv", "a+", encoding='utf-8', newline="") as f:
            k = csv.writer(f, delimiter=',')
            with open("demo.csv", "r", encoding='utf-8', newline="") as f1:
                reader = csv.reader(f1)
                if not [row for row in reader]:
                    k.writerow(['品牌索引', '品牌名称', '车系名称', '车型', '汽车型号', '指导价', '参考价', '经销商名称',
                                '地区', '简称', '地址', '销售区域', '电话1', '电话2', '时间'])
                    k.writerows(data)
                    print('第[{}]条数据插入成功'.format(self.count))
                else:
                    k.writerows(data)
                    print('第[{}]条数据插入成功'.format(self.count))
    
    
    自己对应着改一下参数吧,这段代码的意思就是写入数据前会判断有没有表头没有就写入,有就不写
    
    评论

报告相同问题?

悬赏问题

  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。