【发布时间】:2014-02-25 00:29:23
【问题描述】:
我对 python 很陌生。
我正在尝试使用 python 自动化一些建筑能耗数据的数据分析。
我正在使用python 2.7.3、pandas 0.12、Canopy with qtconsole
这些是我正在遵循的步骤:
- 将模拟软件中的数据粘贴到 excel 中
- 从 Excel 导出为 csv
- 在熊猫
dataframe中导入csv - 执行我的分析
在交互式控制台中我编写了以下代码
import pandas as pd
rooms = pd.read_csv('IES Results - Rooms.csv', index_col='Room # (Real)')
systems = pd.read_csv('IES Results - Systems.csv',index_col='Room #')
all_values = pd.concat([rooms,systems],axis=1)
all_values = all_values.T.drop_duplicates().T
columns = [u'Room ID',u'Room Name',u'Floor Area (m²) (Real)',u'Volume (m³) (Real)']
selected_values = all_values[columns]
不幸的是,我收到以下错误
KeyError: "[u'Floor Area (m\\xb2) (Real)' u'Volume (m\\xb3) (Real)'] not in index"
正如您所见,所有带有上标的列都没有正确解释,并且在dataframe 中找不到它们。
当我写作时
all_values.columns
列标题在IPython 控制台中正确显示。然后我复制并粘贴我感兴趣的值以创建“列”列表以传递给'selected_values = all_values[columns]'
我已经做了很多研究,但我无法理解它。
我试图指定各种编码,但我并不真正理解它发生了什么。
我被困了一天多。
你能帮忙吗?
【问题讨论】:
-
要从编码(在 csv 文件中)到 Unicode(在程序中),您需要使用
encoding关键字参数到pd.read_csvpandas.pydata.org/pandas-docs/stable/generated/… -
嗨,我想尝试重现这个,但我无法让 Excel 导出为带有上标的 CSV。您能否查看您的 CSV 文件并告诉我上标是如何显示的?
-
嗨,我只是“另存为”csv。我试图用记事本++打开文件,我看到了上标。我在 Windows 7 64bit 中使用 Excel 2010
-
我认为问题在于我用来创建“列”列表的复制和粘贴。如果我在创建列表后打印它,我会丢失上标。
-
@bernie 我尝试使用关键字,但没有区别。我已经从 Libre 以 UTF-8 格式保存了 csv,并使用了 encoding='UTF-8'。
标签: python csv encoding pandas