2014-04-04 116 views
0

Qualtrics是一个相当流行的调查平台。您可以将调查数据下载为CSV文件。有一个关于Qualtrics CSV文件夫妇怪癖:如何将Qualtrics csv文件导入到熊猫数据框中?

  1. 与BOM字符
  2. 它们包括额外的信息行解释变量是什么
  3. 他们经常包含在列括号和周期的开始名。

我已经能够应付#1和#2用下面的代码:

import pandas as pd 
df = pd.read_csv('qualtrics_survey.csv', skiprows=[1], encoding='utf-8-sig') 

我运行下面的代码,我看到所有列的列表,包括,括号和周期。

list(df.columns.values) 

有一列叫做turk.1。但是,我无法运行:

df.turk.1 

我不确定加载文件的最佳方式是什么。我会很好地移除所有括号,并用破折号或其他东西替换句点。

回答

4

您可以使用df['col']表示法而不是df.col来选择一列。出于这个原因,这个符号实际上是首选。

如果您不想这样做,您也可以在读入数据后使用rename方法重命名列。您可以手动执行此操作:

df = df.rename(columns={'turk.1': 'other_name'}) 

或提供例如,功能用下划线代替所有阶段:

df = df.rename(columns=lambda x: x.replace('.', '_')) 
+0

谢谢 - 我不知道有关访问列替代语法没有。 – Jim

+0

重命名代码也很有帮助。可能很有必要指出,为了使更改永久化,完整的代码将是:df.rename(columns = lambda x:x.replace('。','_'),inplace = True)或df = df .rename(columns = lambda x:x.replace('。','_')) – Jim

+0

确实,更新了答案。 – joris