python - 如何将这些扭曲的数据以表格格式放入 csv 文件中
问题描述
请在下面找到我用来以表格格式将失真数据放入 CSV 文件的代码:
import requests
from bs4 import BeautifulSoup
import csv
f = open('moneyControl-bonus','w' , newline = '')
writer = csv.writer(f)
f2 = open('moneyControl-dividend','w' , newline = '')
writer2 = csv.writer(f2)
url = 'https://www.moneycontrol.com/stocks/marketinfo/upcoming_actions/home.html'
headers = {'user-agent':'Mozilla/5.0'}
response = requests.get(url,headers)
soup = BeautifulSoup(response.content,'lxml')
div = soup.find_all('div',class_='tbldata36 PT10')[0]
for table in div.find_all('table'):
for row in table.find_all('tr'):
writer.writerow[row]
div2 = soup.find_all('div',class_='tbldata36 PT20')[0]
for table2 in soup.find_all('table'):
for row2 in table2.find_all('tr'):
writer2.writerow[row2]
解决方案
你试过使用pandas
吗?这是用于编写 csv 格式的默认库。
# pip install pandas
import pandas as pd
您可以通过传递列表列表或字典来写入 CSV 文件。
df = pd.DataFrame({'col1':[1,2,3,4],'col2':['a','b','c','d']})
df = pd.DataFrame([[1,2,3,4],['a','b','c','d']],columns=['col1','col2'])
df.to_csv(path_and_name_of_file)
您可以使用多种不同的格式,例如 Excel、表格、文本、json 等。
推荐阅读
- javascript - 带参数的 Azure Cosmos DB 存储过程
- c++ - 删除函数 C++ 中的对象
- mysql - 将 SQL 语句转换为 PySpark
- flutter - 如何修复flutter web TextFormField不接受也不响应输入?
- powershell - 在 PowerShell 中处理文件拖到 BAT 文件
- r - 在 R 包中查找非 ascii 编码的字符
- firebase - Flutter:firebase_auth 好像不行,怎么授权?
- linux - 总是在 Linux 上将 sendfile 与 nginx 一起使用?
- kotlin - 为什么在 kotlin 中不支持暂停 operator fun getValue?
- elasticsearch - 无法在弹性中获取连接查询