如何将Qualtrics CSV文件导入pandas数据框?
Qualtrics是一个相当受欢迎的调查平台。你可以把调查数据下载为CSV文件。不过,Qualtrics的CSV文件有几个小特点:
- 文件开头有一个BOM字符
- 文件里多了一行信息,用来解释这些变量的意思
- 列名里经常会有括号和句号。
我用下面的代码解决了第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
我不太确定加载这些文件的最佳方法是什么。我可以接受去掉所有括号,把句号换成破折号或者其他符号。
1 个回答
4
你可以用 df['col']
这种方式来选择某一列,而不是用 df.col
。所以其实用这种方式更好。
如果你不想这样的话,你也可以在读取数据后,用 rename
方法来重命名你的列。你可以手动这样做:
df = df.rename(columns={'turk.1': 'other_name'})
或者你也可以提供一个函数,把所有的句点替换成下划线:
df = df.rename(columns=lambda x: x.replace('.', '_'))