将第一列第一行替换为字符串' date'在Python中

时间:2018-02-22 14:29:13

标签: python pandas csv

我有csv文件,我在第一列插入当前日期。

我的代码在这里:

import datetime
from datetime import datetime, timedelta
date=datetime.strftime(datetime.now(), '%Y%m%d')

df=pd.read_csv('C:/Paramter_Generation/LTERaw/'+date+'/ENodeBAlgoSwitch_1.csv',header=None,low_memory=False

  df.insert(0,'Date',date)
  df.to_csv('C:/Paramter_Generation/LTERaw/'+date+'/ENodeBAlgoSwitch_1.csv',header=None,index= False)

数据框在这里:

  1     20180222  ne_name             handover_algo_switch   
  0     20180222      001  1111000000101000000001000000000   
  2     20180222      002  1111000000101000000001000000000   
  3     20180222      003  1111000000101000000001000000000   

现在我要更改第一列第一行' 20180222'字符串' date'。

我知道以下代码可以将第一列第一行更改为字符串' date':

    df.set_index('Date', inplace=True)
    df.to_csv('C:/Paramter_Generation/LTERaw/'+date+'/'+names+'')

但执行完毕后,列ne_name' 001' 002'' 003'将被替换为' 1',' 2',' 3。' 我不想改变其他colume属性。

任何人都知道如何更改第一列的第一行' 20180222'字符串' date'并且不要更改其他列属性?

1 个答案:

答案 0 :(得分:0)

似乎需要:

f = 'C:/Paramter_Generation/LTERaw/'+date+'/ENodeBAlgoSwitch_1.csv'
df = pd.read_csv(f, dtype={'ne_name':str})
df.index = date

df.to_csv(...)