import requests
import urllib as ulb
import re
import csv
temp= r"C:\Users\ATP\Desktop"+'\\'+"data"
with open(temp + '.csv', 'a', newline='') as f:
csvwriter = csv.writer(f, dialect='excel')
csvwriter.writerow(['ID', 'total', 'share', 'rate', 'employee', 'social', 'stake', 'environment'])
for i in range(1,184):
url = (
'http://stockdata.stock.hexun.com/zrbg/data/zrbList.aspx?date={}-12-31&count=20&pname=20&titType=null&page={}&callback=hxbase_json11571728040603'.format(
2018, i))
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36'}
req = ulb.request.Request(url=url, headers=headers)
response = ulb.request.urlopen(req)
html1 = response.read().decode('gbk')
id = re.findall(r'(?<=\()\d\d\d\d\d\d(?=\))',html1)
total = re.findall(r'(?<=industryrate:\').+?(?=\')',html1)
share = re.findall(r'(?<=stockNumber:\').+?(?=\')',html1)
rate = re.findall(r'(?<=Pricelimit:\').+?(?=\')',html1)
employee = re.findall(r'(?<=lootingchips:\').+?(?=\')',html1)
social = re.findall(r'(?<=Strongstock:\').+?(?=\')',html1)
stake = re.findall(r'(?<=Scramble:\').+?(?=\')',html1)
environment = re.findall(r'(?<=rscramble:\').+?(?=\')',html1)
for a,b,c,d,e,f,g,h in zip(id,total,share,rate,employee,social,stake,environment):
with open(temp+'.csv','a',newline = '\n',encoding='gbk') as f:
csvwriter = csv.writer(f,dialect='excel')
csvwriter.writerow([a,b,c,d,e,f,g,h])
Код выше. И проблема в переменной «social», которая является столбцом «social» в файле csv.
Если я запускаю «print (social)», данные или результаты могут отображаться, как и ожидалось.
Но когда этозаписывается в файл csv, в столбце «social» отображается « <_ io.TextIOWrapper name = 'C: \ Users \ ATP \ Desktop \ data.csv' mode = 'a' encoding = 'gbk'> ', а не данные, как ожидалось.
Кто-нибудь знает, как это исправить? Заранее спасибо. введите описание изображения здесь