在excel打开时,熊猫数据帧中的unicode搞砸了

时间:2015-07-20 13:37:38

标签: python excel csv pandas unicode

我正在尝试用每个单元格中的“结果”数据框计算出的值及其不确定性,用±符号分隔。然后我将数据帧保存到csv。 我在下面举例说明了这个问题:当我用textedit打开csv(或将其打印到屏幕)时,一切正常。但是,当我在excel中打开(或导入)csv时,±符号会继续使用另一个符号:Â。

我试图使用“str()”将变量强制转换为字符串并使用“encoding ='utf-8'”进行播放,但我似乎无法弄清楚这里出了什么问题。 我在macbook air上使用Python2.7和Komodo。

import os
import pandas as pd

PmSign = (u'\u00B1').encode("utf-8")

columns = ['A']
data = [1,2,3,4,'5 {} 3' .format(PmSign),6]

df = pd.DataFrame(data, columns=columns)

df.to_csv(os.path.join('/Users/python/','UnicodeDFTEST.csv'), encoding='utf-8')

2 个答案:

答案 0 :(得分:0)

正如@Wander Nauta所说,有一个File origin设置。您需要使用文本导入向导。请尝试以下方法:

  1. 启动Microsoft Excel。
  2. 打开一张空白工作簿。
  3. 选择顶部的DATA标签。
  4. 按下From Text按钮。
  5. 选择您的UnicodeDFTEST.csv文件。
  6. File origin下方从长下拉列表中选择65001: Unicode (UTF-8)
  7. Next >
  8. 确保使用正确的分隔符。

答案 1 :(得分:0)

尝试以下方法:

import os
import pandas as pd

PmSign = (u'\u00B1')

columns = ['A']
data = [1, 2, 3, 4, u'5 {} 3'.format(PmSign), 6]

df = pd.DataFrame(data, columns=columns)
writer = pd.ExcelWriter(os.path.join('/Users/python/','UnicodeDFTEST.xlsx')
df.to_excel(excel_writer=writer, sheet_name="Sheet 1")
writer.save()