Я могу записать в лист Excel важные данные, которые мне нужны, с моей веб-страницы, но он записывает в нее 6 раз, прежде чем перейти к следующему символу тикера в моем цикле "Tickers.csv".
Значения [0] <== (числа) - это данные, которые записываются 5 раз, и я не уверен, почему.Values2 [0] <== (буквы) записывает только один раз, что я ожидаю, что значения [0] также будут делать. </p>
Пример,
Значения2 [0] = Apple Inc, AAPL
Значения [0] = 123 123 123 123 123 123
Значения [0] должны равняться этому в моем ходу мыслей:
Значения [0] = 123
Мой код записывает это в электронную таблицу:
Apple Inc, AAPL
123
123
123
123
123
123
International Business Machines, IBM
456
456
456
456
456
456
Мне бы хотелось, чтобы лист получился таким, и не понимаю, почему это не так:,
Apple Inc, AAPL
123
International Business Machines, IBM
456
Я использую XPath для очисткиданные на листе, так что единственный способ, которым я знаю, чтобы получить их на листе, это добавить индекс (т.е. значения [0] вместо просто vaсифилис).Когда я не добавляю индекс, я получаю сообщение об ошибке, в котором мне запрещено писать списки.
Если вам нужна дополнительная информация о моей ситуации, просто спросите и поблагодарите за потраченное время.
def main (): импорт CSV, импорт ОС из селена, импорт веб-драйвера из селена, импорт веб-драйвера
chrome_path = r"C:\chromedriver\chromedriver.exe"
browser = webdriver.Chrome(chrome_path)
stocks_arr =[]
pfolio_file = open("tickers.csv", "r")
for line in pfolio_file:
indv_stock_arr = line.strip().split(",")
stocks_arr.append(indv_stock_arr)
stock_info_arr = []
for stock in stocks_arr:
stock_info = []
ticker = stock[0]
stock_info.append(ticker)
url="https://finance.yahoo.com/quote/{0}?p={0}&.tsrc=fin-srch".format(ticker)
browser.get(url)
try:
values_elementticker = browser.find_elements_by_xpath("//div[@class='D(ib) ']")
values2 = [x.text for x in values_elementticker]
print(values2[0])
except IndexError:
with open("results2.xls", "a") as f:
for i in range(len(values2)):
f.write(values2[0] + "\n")
try:
values_element = browser.find_elements_by_xpath("//span[@class='Trsdu(0.3s) ']")
values = [x.text for x in values_element]
print(values[0])
except IndexError:
with open("results2.xls", "a") as f:
f.write("-" + "\n")
with open("results2.xls", "a") as f:
for i in range(len(values2)):
f.write(values2[0] + "\n")
for i in range(len(values)):
f.write(values[0] + "\n")
print("Script completed")
browser.close()
restart = input("Do you wish to start again?").lower()
if restart == "yes":
main()
else:
exit()
main()