m0_51774459 2021-06-17 23:52 采纳率: 0%
浏览 209

TypeError: __init__() : 'fieldnames'


import requests
import pprint
import csv
__init__()=filenames
file = open('data.csv',mode='a',encoding='utf-8',newline='')
csv_write=csv.DictWriter(file,filenames=['股票代码','股票名称','当前价格','涨跌额','涨跌幅','年初至今','成交量','成交额','换手率','市盈率(TTM)','股息率','市值'])
csv_write.writeheader()#写入一次表头数据
# 1确定url地址(链接地址)
url='https://xueqiu.com/service/v5/stock/screener/quote/list?page=1&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha&_=1623936565734'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0'}
# 2发送网络请求
rq=requests.get(url=url,headers=headers)
json_data = rq.json()
# pprint.pprint(json_data)

# 3数据解析(筛选数据)
data_list = json_data['data']['list']

for data in data_list:
    # print(data)
    data1 = data['symbol']
    data2 = data['name']
    data3 = data['current']
    data4 = data['chg']
    if data4:
        if float(data4)>0:
            data4='+'+str(data4)
        else:
            data4='-'+str(data4)
    data5 = str(data['percent'])+'%'
    data6 = str(data['current_year_percent'])+'%'
    data7 = str(data['volume'])+'亿'
    data8 = str(data['amount'])+'亿'
    data9 = str(data['turnover_rate'])+'%'
    data10 =data['pe_ttm']
    data11 = data['dividend_yield']
    if data11:
        data11=str(data['dividend_yield'])+'%'
    else:
        data11= None
    data12= str(data['market_capital'])+'亿'
    print(data1,data2,data3,data4,data5,data6,data7,data8,data9,data10,data11,data12)
# 4数据保存
    data_dict={'股票代码':data1,'股票名称':data2,'当前价格':data3,'涨跌额':data4,'涨跌幅':data5,'年初至今':data6,'成交量':data7,'成交额':data8,'换手率':data9,'市盈率(TTM)':data10,'股息率':data11,'市值':data12}
    csv_write.writerow(data_dict)

D:\Python3.8.2\python.exe D:/PyCharm/pythonProject/股票01.py
Traceback (most recent call last):
  File "D:/PyCharm/pythonProject/股票01.py", line 6, in <module>
    csv_write=csv.DictWriter(file,filenames=['股票代码','股票名称','当前价格','涨跌额','涨跌幅','年初至今','成交量','成交额','换手率','市盈率(TTM)','股息率','市值'])
TypeError: __init__() missing 1 required positional argument: 'fieldnames'

Process finished with exit code 1
  • 写回答

2条回答 默认 最新

  • CSDN专家-黄老师 2021-06-18 09:05
    关注

    __init__()是在类里面定义的,你这个写法直接在类外面了,程序是无法识别的

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置