python - 如何从 yfinance 数据中删除时区?

我使用 yfinance 包获取数据。我将它转换成 Pandas 数据框。 但是,我无法将数据框保存到 excel 文件。

ValueError: Excel does not support datetimes with timezones. Please ensure that datetimes are timezone unaware before writing to Excel.

这是数据框的样子。它应该是8列。 Spyder 说它有 7 列。

下面是我的代码:

import yfinance as yf
import pandas as pd

stock = yf.Ticker("BABA")
# get stock info
stock.info

# get historical market data
hist = stock.history(start="2021-03-25",end="2021-05-20",interval="15m")
hist = pd.DataFrame(hist)

# pd.to_datetime(hist['Datetime'])
# hist['Datetime'].dt.tz_localize(None)

hist.to_excel(excel_writer= "D:/data/python projects/stock_BABA2.xlsx")

最佳答案

您可以使用 DatetimeIndex.tz_localize() 删除 DatetimeIndex 的时区信息,如下:

hist.index = hist.index.tz_localize(None)

https://stackoverflow.com/questions/67628854/

相关文章:

java - 我需要一个可以处理任何有效的 W3C ISO 8601 日期/时间字符串的 java.

java - 整数和字符串比较在优化上有什么区别吗?

typescript - 没有泛型的类型推断?

python - 如何匹配该值并根据其他列字符串为它们分配一个新列

c++ - 你能反转初始化列表中参数扩展的顺序吗?

r - 使用 melt 将数据合并到一个长列中

python - 我是否需要清理/删除在部署我的 Cloud Run 实例时创建的图像?

c# - 将 MagickImage 转换为位图

c# - 如何将普通字符串转换为十六进制的等效字节数组?

pandas - 如何通过每行的第一个单词将 pandas 中的行汇总为该第一个单词的聚合?