【问题标题】:Only half of my CSV is encoded我的 CSV 只有一半被编码
【发布时间】:2017-05-05 18:28:19
【问题描述】:

我将一个 cvs 文件导入到 pandas 中,当我这样做时,前几个名称被正确编码,然后再往下重音变成符号。这是一个相当大的文件,有近 200 个名称。我能做些什么来解决这个问题。

import sys
import codecs
import pandas as pd
import numpy as np
import matplotlib.pylab as plt
#%matplotlib inline
from matplotlib.pylab import rcParams
sys.stdout = codecs.getwriter( "ISO-8859-1" )( sys.stdout.detach() )
rcParams['figure.figsize'] = 15, 6


data = pd.read_csv('IndNames.csv', encoding='ISO-8859-1')
pd.get_option("display.max_rows")
pd.set_option('expand_frame_repr', False)
pd.set_option('display.height', 500)
data.align(data, axis=1)
print(data.head(n=182))

Ex: José
    José 

编辑:ftfy 不适用于数据框

Edit1:当我将其保存到 csv 文件时,我无法找出问题,一切正常,然后当我使用 pd.read_csv 再次使用它时,它是未编码的。

【问题讨论】:

标签: python csv encoding


【解决方案1】:
sys.stdout = codecs.getwriter( "UTF-8" )( sys.stdout.detach() )

简单的修复,我不知道为什么之前尝试它时它不起作用,但这成功了

【讨论】:

  • 如果有人能解释为什么这会奏效,我将不胜感激
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-13
  • 2020-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多