如何避免在python熊猫数据帧中从msb中删除0

时间:2016-07-05 17:44:36

标签: python csv pandas dataframe

我从0123456789这样的列中有数据,从文件读取后会得到123456789,列名为msisdn

如何解决此问题

我正在使用pandas脚本,如下所示

#!/usr/bin/env python 
import gc
import pandas
csv1 = pandas.read_csv('/home/subin/Desktop/a.txt')
csv2 = pandas.read_csv('/home/subin/Desktop/b.txt')
merged = pandas.merge(csv1, csv2,left_on=['MSISDN'],right_on=['MSISDN'],how='left',suffixes=('#x', '#y'), sort=True).fillna('0')
merged.to_csv("/home/subin/Desktop/amergeb_out.txt", index=False, float_format='%.0f')

2 个答案:

答案 0 :(得分:1)

您可以通过read_csv中的参数msisdn将列string投放到dtype

temp=u"""msisdn
0123456789
0123456789"""
#after testing replace io.StringIO(temp) to filename
df = pd.read_csv(io.StringIO(temp), dtype={'msisdn': str})
print (df)
       msisdn
0  0123456789
1  0123456789

答案 1 :(得分:0)

csv1 = pandas.read_csv('/home/subin/Desktop/a.txt',dtype=str)
csv2 = pandas.read_csv('/home/subin/Desktop/b.txt',dtype={'MSISDN': str})
merged = pandas.merge(csv1, csv2,left_on=['MSISDN'],right_on=['MSISDN'],how='left',suffixes=('#x', '#y'), sort=True).fillna('0')
merged.to_csv("/home/subin/Desktop/amergeb_out.txt", index=False, float_format='%.0f')