帮我用python写个代码,读取csv的某列数据(如证券代码),然后帮我在百度上查是哪家公司,并且搜到的结果自动写回csv文件
时间: 2023-05-25 17:03:20 浏览: 105
很抱歉,我是语言模型AI,无法直接访问您的本地文件系统,但以下是思路与示例代码:
1. 使用pandas读取csv文件,获取某一列的数据:
```python
import pandas as pd
df = pd.read_csv('file.csv') # 读取csv文件
codes = df['证券代码'] # 获取证券代码这一列的数据
```
2. 使用百度搜索接口进行搜索,并获取搜索结果:
```python
import requests
from bs4 import BeautifulSoup
def search_company(query):
url = f'https://www.baidu.com/s?q1={query}&rn=10'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
result = soup.find_all('div', {'class': 'result c-container'})
if result:
return result[0].h3.a.get_text() # 如果有搜索结果,返回第一个结果的标题
else:
return None # 如果没有搜索结果,返回None
# 使用示例:
query = '百度'
company_name = search_company(query)
print(company_name)
# 输出:百度(Baidu.com)——全球最大的中文搜索引擎、最大的中文网址导航
```
3. 遍历证券代码列,依次搜索对应的公司名,将结果写回csv文件:
```python
for i, code in enumerate(codes):
company_name = search_company(code)
df.at[i, '公司名称'] = company_name
df.to_csv('file.csv', index=False) # 将结果写回csv文件
```
完整代码如下:
```python
import pandas as pd
import requests
from bs4 import BeautifulSoup
def search_company(query):
url = f'https://www.baidu.com/s?q1={query}&rn=10'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
result = soup.find_all('div', {'class': 'result c-container'})
if result:
return result[0].h3.a.get_text()
else:
return None
df = pd.read_csv('file.csv')
codes = df['证券代码']
for i, code in enumerate(codes):
company_name = search_company(code)
df.at[i, '公司名称'] = company_name
df.to_csv('file.csv', index=False)
```
阅读全文