0

我在阅读 csv 时遇到了很多问题,我可以根据要求提供(因为我不知道如何在此处上传)。它有一个点.作为千位分隔符,这会产生如前所述的问题。另外,我需要使用,skipfooter=1因为我的文件末尾有一个空行。这使得decimal=","不工作,即使没有点存在......

我的文件如下所示:

Commerzbank AG Fakt.3xLongZ.09(09/unl.)CBK(WKN: CZ24PE B<F6>rse: LT Commerzbank)

Datum;Zeit;Er<F6>ffnung;Hoch;Tief;Schluss;Volumen
02.08.2013;14:00;0,033;0,033;0,023;0,028;0,00
01.08.2013;14:00;0,023;0,029;0,022;0,028;0,00
14.03.2013;13:00;0,125;0,125;0,094;0,105;0,00
13.03.2013;13:00;0,165;0,165;0,105;0,125;0,00

不要错过此处未显示的末尾的双空行。这使得使用skipfooter 必不可少,否则无法正确识别日期。我最好的尝试是:

s = pd.read_csv('test.csv', decimal=',',sep=';',
                parse_dates={'Dates': [0, 1]},
                index_col=[0], skipfooter=1, skiprows=3)

这读取日期正确,但无法识别所有数字。

问候。

4

1 回答 1

1

使用 nrows 而不是 skipfooter。小数选项适用于它

df = pd.read_csv(fileName, index_col=[indexParam], 
                          skiprows = rowsToSkip,
                          decimal = ',', nrows = rowsToRead)
于 2013-11-19T09:00:14.510 回答