【问题标题】:How do I convert a number to thousand separator using comma? [duplicate]如何使用逗号将数字转换为千位分隔符? [复制]
【发布时间】:2019-07-24 06:53:17
【问题描述】:

我有一个 pandas 数据框,有些行是数字,我想将它们转换为千位分隔符。试过这个thousands=','但不工作,尝试了其他解决方案,但我怎样才能在to_csv之前将整个数据帧转换为千位分隔符

我想要的示例:31752000 转换为31,752,000

这是我正在尝试的代码:

url = 'https://finance.yahoo.com/quote/RDS-A/balance-sheet?p=RDS-A'
table = pandas.read_html(url, attrs={
    'class': 'Lh(1.7) W(100%) M(0)'}, header=0)
df = pandas.DataFrame(table[0])
print(df)

#Then save to csv
#df.to_csv('ydata.csv', index=False, header=True)

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您可以像这样手动添加逗号(仅适用于小于 1,000,000,000 的数字):

    thousandSeperatedStrings=[]
    for x in df:
        string=""
        if(x>=1000000):
            x=x%1000000000
            string=str(int(x/1000000))+","
            x=x%1000000
            string=string+str(int(x/100000))
            x=x%100000
            string=string+str(int(x/10000))
            x=x%10000
            string=string+str(int(x/1000))+","
            x=x%1000
            string=string+str(int(x/100))
            x=x%100
            string=string+str(int(x/10))
            x=x%10
            string=string+str(int(x))
        elif(x>=1000):
            x=x%1000000
            string=string+str(int(x/1000))+","
            x=x%1000
            string=string+str(int(x/100))
            x=x%100
            string=string+str(int(x/10))
            x=x%10
            string=string+str(int(x))
        else:
            string=str(int(x))
        thousandSeperatedStrings.append(string)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 2010-12-19
      • 2017-05-09
      • 1970-01-01
      • 2010-12-21
      • 2014-09-10
      • 2012-12-26
      • 1970-01-01
      相关资源
      最近更新 更多