大lao们,我已经生成了csv文件了,但是每个数据都没有标题,我该怎么补救呢?
import requests
from lxml import etree
import csv
url = 'https://www.dongchedi.com/sales/test-x-x-x'
# 模拟浏览器
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
res = requests.get(url=url, headers=headers)
# print(res.status_code)
html = etree.HTML(res.text)
lis = html.xpath('//*[@id="__next"]/div/div[2]/div/div[4]/div/div/ol/li')
# print(lis)
# 定义字符串,创建参数
def get_first_text(list):
try:
return list[0]
except:
return ""
for li in lis:
car_name = get_first_text(li.xpath('./div[3]/div[1]/a/text()'))
# print(car_name)
car_score = get_first_text(li.xpath('./div[4]/div/div/p/text()'))
# print(car_score)
car_data = (car_name, car_score)
with open("评分榜汽车榜单TOP10.csv", 'a', encoding='utf-8')as f:
car_info = f'{car_name},{car_score}\n'
f.write(car_info)
csv文件:
沃尔沃XC60,100.0分
宝马X5(进口),99.7分
奥迪A7,87.3分
名爵HS,80.5分
奔驰E级,79.0分
沃尔沃XC40,76.6分
沃尔沃S90,76.3分
宝马7系,70.3分
轩逸,67.8分
奔驰GLE,67.3分
该回答内容部分引用GPT,GPT_Pro更好的解决问题
在这种情况下,我们可以使用 Python 的 csv 模块来解决这个问题。
首先,我们需要导入 csv 模块:import csv
然后,我们可以将 csv 文件中的数据读取到一个列表中:csv_data = list(csv.reader(open('文件名.csv','r')))
接下来,我们可以在这个列表中添加新的标题:csv_data[0] = ['标题1', '标题2', '标题3', '标题4', '标题5']
最后,我们可以将这个列表中的数据写入到新的 csv 文件中:csv.writer(open('新文件名.csv','w')).writerows(csv_data)
通过上面的几步操作,我们就可以将 csv 文件中的数据添加标题,并生成新的 csv 文件了。
如果回答有帮助,望采纳。