python - 使用 Python 将数据填充到现有的 excel 文件中
问题描述
我正在尝试做的事情:
我正在使用 Python 将数据填充到现有的 Excel 文件中。
什么有效:
我下面的代码成功地将表格导出到 Excel 文件“Futures.xls”。
什么不起作用:
下面的代码从网站中提取表格并导出到 Futures excel 文件(100 Rows)后续代码重新打开 Futures 文件并附加到 Futures1 excel 文件(200 Rows)。但是,如果我继续多次运行后续代码,我在运行代码时无法获得超过 200 行(如 300 行等)。有人可以告诉我这个问题吗?
我的代码:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
import os
url = "https://quotes.ino.com/exchanges/contracts.html?r=NYMEX_NG"
res = requests.get(url)
soup = BeautifulSoup(res.text, 'lxml')
Markets = []
Contracts =[]
Opens =[]
Highs =[]
Lows =[]
Lasts=[]
Changes=[]
Pcts=[]
data_rows = soup.findAll('tr')[3:]
for td in data_rows[:100]:
Market = td.findAll ('td')[0].text
Markets.append(Market)
Contract = td.findAll('td')[1].text
Contracts.append(Contract)
Open = td.findAll('td')[2].text
Opens.append(Open)
High = td.findAll('td')[3].text
Highs.append(High)
Low = td.findAll('td')[4].text
Lows.append(Low)
Last = td.findAll('td')[5].text
Lasts.append(Last)
Change = td.findAll('td')[6].text
Changes.append(Change)
Pct = td.findAll('td')[7].text
Pcts.append(Pct)
Time = td.findAll('td')[8].text
df = pd.DataFrame({'Contracts' :Contracts, 'Markets':Market,'Open':Opens, 'High':Highs, 'Low':Lows,'Last':Lasts,'Pct':Pcts})
out_path = "C:\Sid\Futures.xls"
writer = pd.ExcelWriter(out_path , engine='xlsxwriter')
df.to_excel(writer,'Sheet2',index=False)
writer.save()
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
wb = load_workbook("C:\Sid\Futures.xlsx")
ws = wb['Sheet2']
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
wb = load_workbook("C:\Sid\Futures.xlsx")
ws = wb['Sheet2']
for row in dataframe_to_rows(df, header=None, index = True):
ws.append(row)
wb.save('C:\Sid\Futures1.xlsx')
额外的:
另外,我需要什么代码才能让我的 python 在我的网站更新时自动运行?价格每 15 分钟变化一次。
解决方案
推荐阅读
- python - pandas 变换函数作为参数
- excel - 向表格中添加新行时,Excel 自动使用错误的公式完成
- css - 动画不透明度时,不尊重 z-index
- curl - 我需要在后台处理它
- php - PHP 注意:未定义的偏移量:第 23 行 /my/path/*.phpFile 中的 39
- javascript - 使用 fetch react native 时获得不同的 json 响应
- php - 如何使用项目(索引)删除子节点?
- javascript - 如何在 React 中提醒选项框的值?
- laravel - Laravel:为什么急切加载只保留最后一个模型的结果?
- r - 每周频率 - 透析数据集