用逗号作为千位分隔符格式的CSV数据如何使用pandas读取?

20

我正在尝试使用pandas创建一个数据帧,使用逗号作为数值数据的千位分隔符,而CSV是用分号分隔的。是否有一种方法可以将其读入,以使列的类型为浮点数而不是字符串?

3个回答

33

如果要读取以千位分隔符表示的数字,请在read_csv函数中传递参数 thousands=',':

In [27]:
import pandas as pd
import io

t="""id;value
0;123,123
1;221,323,330
2;32,001"""
pd.read_csv(io.StringIO(t), thousands=r',', sep=';')

Out[27]:
   id      value
0   0     123123
1   1  221323330
2   2      32001

1
在“千位数”字段中,“r”代表什么? - kotchwane
1
@kotchwane r 代表原始字符串字面量(raw string literal)(在这种情况下实际上并不是必需的)。 - tdy

10

这个问题的答案应该很简短:

df=pd.read_csv('filename.csv', thousands=',')

1
df=pd.read_csv('filename.csv', sep=";", thousands=',') - Armin Okić

2

查看read_csv文档,有一个关键字参数'thousands',您可以将','传递进去。同样,如果您有包含'.'作为分隔符的欧洲数据,也可以这样做。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接