私は高低の答えを探してきましたが、決定的な解決策はないようです。ここに行く:PythonのXLSXへのXML
from selenium import webdriver
chromedriver_path = ("localchromedrive/chromedriver.exe")
chromeOptions = webdriver.ChromeOptions()
MSCI_dir = ("mylocaldrive")
prefs = {"download.default_directory" : MSCI_dir}
chromeOptions.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chromedriver_path,chrome_options=chromeOptions)
url = "https://www.ishares.com/us/239637/fund-download.dl"
driver.get(url)
ファイルは今、次のようなローカルパスにダウンロードして保存されます。
temp_path = "mylocaldrive\iShares-MSCI-Emerging-Markets-ETF_fund.xls"
このファイルは「.XLS」ファイルの種類として保存されますが、それは明らかにXMLでありますファイル。 NotePadで開いたファイルは下記を参照してください。
私はxlrd試してみた:
import xlrd
book = xlrd.open_workbook(temp_path)
XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'\xef\xbb\xbf<?xml'
私が試したxml.etree:
import xml.etree.ElementTree as ET
tree = ET.parse(temp_path)
File "<string>", line unknown
ParseError: mismatched tag: line 16, column 2`
私が試したxlwings:
wb = xw.Book(temp_path)
wb.save(xlsx_path)
wb.close()`
それのように見えます私がパンダを試してみると、私はこれを手に入れます:
pd.read_excel(xlsx_path)
XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'\xef\xbb\xbf<?xml'`
私はパンダを使用してこのファイルにアクセスするための決定的な方法を探していますBeautifulSoup
from bs4 import BeautifulSoup`
soup = BeautifulSoup(open(temp_path), "xml")`
In [1]: soup
Out[1]: <?xml version="1.0" encoding="utf-8"?>`
In [2]: soup.contents
Out[2]: []`
In [3]: soup.get_text()
Out[3]: ''`
を試してみました。あなたが私から必要としている情報が不足していることを教えてください。
は、同じ問題に遭遇しました。最後に、ファイルをXMLファイルとして読み込み、xmlをxlsxファイルに再構築する必要がありました。あなたはこの投稿をチェックアウトする必要があります:http://stackoverflow.com/questions/36387312/how-to-read-excel-xml-file-in-python –