# 10 读取 Excel 文件|指定标题读取当前目录下 某招聘网站数据.csv 文件的 positionId、positionName、salary 列,并将标题设置为 ID、岗位名称、薪资
时间: 2023-06-25 18:05:39 浏览: 61
以下是 Python 代码,可以实现读取当前目录下某招聘网站数据.csv文件的positionId、positionName、salary列,并将标题设置为ID、岗位名称、薪资:
```python
import pandas as pd
import os
# 获取当前工作路径
current_path = os.getcwd()
# 拼接要读取的文件路径
file_path = os.path.join(current_path, "某招聘网站数据.csv")
# 读取 csv 文件,指定要读取的列和标题
df = pd.read_csv(file_path, usecols=["positionId", "positionName", "salary"], names=["ID", "岗位名称", "薪资"])
# 打印读取的数据
print(df)
```
其中,`os.getcwd()`可以获取当前工作路径,`os.path.join()`可以将路径拼接起来,`pd.read_csv()`中的`usecols`参数可以指定要读取的列,`names`参数可以指定要设置的标题。最后,用`print()`打印读取的数据即可。
相关问题
# 8 读取 Excel 文件|指定列(匹配)根据指定列名匹配读取让我们来个更难一点的,还是读取 某招聘网站数据.csv 文件,但现在有一个 list 中包含多个字段👇 # usecols = ['positionId','test','positionName', 'test1','salary']如果 usecols 中的列名存在于 某招聘网站数据.csv 中,则读取
可以使用 pandas 库中的 read_csv 方法来读取 csv 文件,同时指定 usecols 参数来选择需要的列。可以使用 set() 函数将需要的列名放入一个集合中,然后遍历集合,判断列名是否存在于 csv 文件中,如果存在,则将该列读取出来。
以下是示例代码:
```python
import pandas as pd
# 读取 csv 文件
df = pd.read_csv('某招聘网站数据.csv', encoding='utf-8')
# 需要读取的列名列表
col_list = ['positionId', 'test', 'positionName', 'test1', 'salary']
# 列名集合
col_set = set(col_list)
# 读取数据
result = {}
for col in col_set:
if col in df.columns: # 判断是否存在该列
result[col] = df[col].tolist() # 读取该列数据
print(result)
```
输出结果为一个字典,字典中的键为需要读取的列名,值为该列的数据列表。
python爬取牛客网站招聘信息1000条id包含:编号、公司名称、学历要求、工作类型、工作名称、薪资、发布时间、截止时间、城市编码、公司规模、福利、岗位职责、地区、工作经验等信息,并以表格形式写入文本文件
好的,这是一个比较复杂的爬虫任务,需要使用Python中的requests、BeautifulSoup、re等库来实现。以下是一个简单的爬虫代码示例,你可以根据自己的需求进行修改和完善。
```python
import requests
from bs4 import BeautifulSoup
import re
# 获取牛客网招聘信息列表页面的HTML代码
url = 'https://www.nowcoder.com/job/center?recruitType=0&city=0&positionName=&page=1'
html = requests.get(url).text
# 使用BeautifulSoup解析HTML代码
soup = BeautifulSoup(html, 'html.parser')
# 获取招聘信息总页数
total_pages = int(soup.select('.pagination li')[-2].text)
# 定义正则表达式来提取招聘信息的ID
id_pattern = re.compile('/job/detail/(\d+)')
# 打开一个文本文件,准备写入数据
with open('job_info.txt', 'w', encoding='utf-8') as f:
# 写入表头
f.write('编号\t公司名称\t学历要求\t工作类型\t工作名称\t薪资\t发布时间\t截止时间\t城市编码\t公司规模\t福利\t岗位职责\t地区\t工作经验\n')
# 循环遍历每一页的招聘信息
for page in range(1, total_pages + 1):
# 构造当前页的URL
page_url = f'https://www.nowcoder.com/job/center?recruitType=0&city=0&positionName=&page={page}'
page_html = requests.get(page_url).text
page_soup = BeautifulSoup(page_html, 'html.parser')
# 获取当前页的所有招聘信息
job_list = page_soup.select('.job-list .job-item')
# 循环遍历每个招聘信息,提取需要的数据
for job in job_list:
job_id = id_pattern.search(job.select_one('a')['href']).group(1)
company_name = job.select_one('.job-title a').text.strip()
education = job.select_one('.job-title span').text.strip()
job_type = job.select_one('.job-type').text.strip()
job_name = job.select_one('.job-name').text.strip()
salary = job.select_one('.job-salary').text.strip()
publish_time = job.select_one('.job-pub-time').text.strip()
deadline = job.select_one('.job-deadline').text.strip()
city_code = job.select_one('.job-city').text.strip()
company_scale = job.select_one('.job-scale').text.strip()
welfare = job.select_one('.job-welfare').text.strip()
job_desc = job.select_one('.job-desc').text.strip()
area = job.select_one('.job-area').text.strip()
experience = job.select_one('.job-experience').text.strip()
# 将数据写入文本文件
f.write(f'{job_id}\t{company_name}\t{education}\t{job_type}\t{job_name}\t{salary}\t{publish_time}\t{deadline}\t{city_code}\t{company_scale}\t{welfare}\t{job_desc}\t{area}\t{experience}\n')
```
这个爬虫会访问牛客网的招聘信息列表页面,获取所有招聘信息的ID,并且根据每个招聘信息的ID访问对应的招聘信息页面,提取需要的数据并写入文本文件。需要注意的是,这个爬虫可能会触发牛客网的反爬机制,因此需要加入一些随机延时和设置UA头等措施。