Column Open of a Pandas DataFrame is lost
还没有人认领这个 Issue。
评估
调研方向
运行 download.py 生成 CSV,然后使用 store.py,利用打印出的 DataFrame 和 dtypes 重现写入过程。跟踪 pandas DataFrame 如何为写入 InfluxDB 而转换,并将存储的字段与输入列进行比较。当 Open 列被保留并与其他已写入的数据一同显示时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Specifications
- Client Version: latest from pip
- InfluxDB Version: v2.7.1
- Platform: Windows 10
Code sample to reproduce problem
download.py
import datetime
from binance_historical_data import BinanceDataDumper
data_dumper = BinanceDataDumper(
path_dir_where_to_dump=".",
asset_class="spot", # spot, um, cm
data_type="klines", # aggTrades, klines, trades
data_frequency="1h",
)
data_dumper.dump_data(
tickers="BTCUSDT",
date_start=datetime.date(2023, 7, 1),
date_end=None,
is_to_update_existing=False,
)
store.py
from influxdb_client import InfluxDBClient, WriteOptions
import datetime
import pandas as pd
data_source = "binance"
asset_class = "spot" # spot, um, cm
storage_frequency = "daily" # daily, monthly
data_type = "klines" # aggTrades, klines, trades
symbol = "BTCUSDT"
data_frequency = "1h"
dt = datetime.date(2023, 7, 1)
fname = f"C:\\Users\\w4c\\data\\{data_source}\\{asset_class}\\{storage_frequency}\\{data_type}\\{symbol}\\{data_frequency}\\{symbol}-{data_frequency}-{dt.year}-{dt.month:02}-{dt.day:02}.csv"
with InfluxDBClient.from_env_properties() as client:
columns = [
"OpenTime",
"Open",
"High",
"Low",
"Close",
"Volume",
"CloseTime",
"Quote asset volume",
"Number of trades",
"Taker buy base asset volume",
"Taker buy quote asset volume",
"Ignore",
]
for df in pd.read_csv(fname, chunksize=1_000, names=columns):
# for col in ["OpenTime", "CloseTime"]:
for col in ["OpenTime"]:
df[col] = pd.to_datetime(df[col], unit="ms")
df["CloseTime"] *= 1_000_000
df["data_source"] = data_source
df["asset_class"] = asset_class
df["data_type"] = data_type
df["data_frequency"] = data_frequency
df["symbol"] = symbol
print(df)
print(df.dtypes)
with client.write_api() as write_api:
try:
write_api.write(
record=df,
bucket="data",
data_frame_measurement_name="crypto",
data_frame_tag_columns=["data_source", "asset_class", "data_type", "symbol", "data_frequency"],
data_frame_timestamp_column="OpenTime",
)
except Exception as e:
print(e)
Open column is not displayed
Additional info
No response
- 主要语言
- Python
- 星标
- 792
- 派生
- 186
- 平均合并
- 3 小时 2 分钟
- 30 天内合并 PR
- 1
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
influxdata/influxdb-client-python 的其他 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 68/100
influxdata/influxdb-client-python#613 · 7 条评论 ·
-
bug
难度 3/5 1-2 天 新手友好度 65/100
-
难度 3/5 1-2 天 新手友好度 45/100
influxdata/influxdb-client-python#694 · 6 个 reaction ·
-
bug
难度 3/5 1-2 天 新手友好度 30/100
influxdata/influxdb-client-python#693 · 2 条评论 · 1 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 35/100
查看 influxdata/influxdb-client-python 的全部 Issue
相似的 Issue
-
agent-ready documentation needs-triage
难度 1/5 1-3 小时 新手友好度 88/100
-
documentation
难度 1/5 1 小时以内 新手友好度 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" 未关闭
难度 1/5 1 小时以内 新手友好度 92/100
-
instance instance add
难度 1/5 1 小时以内 新手友好度 72/100
searxng/searx-instances#939 · 1 条评论 ·
-
area-deployment area-integrations triage:bot-seen
难度 2/5 半天 新手友好度 86/100