0

从具有欧洲格式的 csv 文件导入股票数据时,我遇到了一些问题,如下所示:

Date ;Stock1;Stock2
03.05.2019 ;1.581,70;20,76
30.04.2019 ;1.588,46;20,72

目前我正在使用 pandas 的 read_csv 命令。对于第二只股票来说效果很好,并且通过快速的解决方法,获得正确的时间指数是没有问题的。

但是,stock1 中的千位分隔符让我很头疼。当它被导入时,由于“。”,python将其视为字符串而不是浮点数。. 尝试“千”分隔符参数,它破坏了我的时间戳。

到目前为止不破坏时间戳的脚本版本:

# Importing the data with a "," as decimal separator 
stock_data = pd.read_csv("stock_data.csv", sep = ";", decimal = ",")

# Time indexing
df['Date'] = df['Date'].apply(pd.to_datetime)
df.set_index(df["Date"], inplace = True)

由于我真的被卡住了,我需要一些帮助来找到直接导入此类日期的方法,保持索引完整,同时将其余部分作为浮点数导入。或者,如何在导入 csv 文件之前对其进行清理。

非常感谢你的帮助 :)

4

1 回答 1

1

尝试这个

library(readr)
stock_data <- read_csv("stock_data.csv", 
    locale = locale(decimal_mark = ",", grouping_mark = "."))
View(house_pricing_test)
于 2019-06-08T20:22:18.573 回答