按列索引重命名csv中的列

时间:2016-07-11 03:48:09

标签: python python-2.7 python-3.x csv pandas

我有一个csv文件:

visitIp        userId   idSite
128.227.50.161   a        35
24.222.206.154   a        35
10.12.0.1        a        35
10.12.0.1        a        35
10.12.0.1        a        35
24.222.206.154   a        35

我想重命名第三个索引中的列,即idSite'只是我。我想通过索引执行此操作的原因是可能有其他csv在第3列中具有不同的列名称。所以我需要通过索引重命名而不是名称。这是我试过的。但它似乎没有起作用:

import pandas as pd
df = pd.read_csv('Book1.csv',dtype='unicode')
df1 = df.rename(columns = {'df.ix[:,2:3]':'id'})
print df1

2 个答案:

答案 0 :(得分:2)

您可以直接重命名设置.columns.values[2]值的列:

import pandas as pd

df = pd.read_csv('Book1.csv', dtype='unicode', delim_whitespace=True)
df.columns.values[2] = "id"
print(df)

打印:

          visitIp userId  id
0  128.227.50.161      a  35
1  24.222.206.154      a  35
2       10.12.0.1      a  35
3       10.12.0.1      a  35
4       10.12.0.1      a  35
5  24.222.206.154      a  35

答案 1 :(得分:0)

使用df.rename更好的方法来做到这一点;但这会奏效:

Name
Comments
CompanyName
FileDescription
FileVersion
InternalName
LegalCopyright
LegalTrademarks
OriginalFilename
PrivateBuild
ProductName
ProductVersion
SpecialBuild

你应该能够在另一个线程中找到解决方案