如何使用pandas.to_excel()读取文本文件中的特殊字符?

时间:2015-02-08 10:32:06

标签: python pandas

我有一个巨大的文本文件,我希望通过首先通过使用Python将其作为数据框来执行某些操作来导出到excel。

现在,该文件在其中一个Header中包含一些特殊字符,这就是为什么我无法将该标题行数据从DataFrame导出到excel的原因。 它是这样的

{ “YTH” “DOEClientID” “”,DOEClient,ChgClientID,ChgClient,ChgSystemID,ChgSystem}

我可以在使用{header = False}属性时导出数据但是当我将此标题属性设为TRUE时显示一些错误

请帮帮我,我已经搜索了很多,但无法找到任何解决方案。 我需要文件中的那些标题。

代码:     `def files(file_name,outfile_name):     data_initial = open(path + file_name,“rU”)     data1 = csv.reader((line.replace('\ 0','')for data_initial中的行),delimiter =“,”)

reader = csv.reader(open(path + file_name, 'rU'))
writer = csv.writer(open(path + outfile_name ,'wb'),dialect = 'excel')
for row in data1:
    writer.writerow(row)

df = pd.DataFrame(pd.read_csv(path + outfile_name,sep=',', engine='python'))

final_frame = df.dropna(how='all')

file_list = list(uniq(list(final_frame['DOEClient'])))

return file_list, final_frame`

1 个答案:

答案 0 :(得分:1)

输入文件的问题在于它有一个utf-16 little endian BOM这就是为什么你会看到有趣的字符:ÿþ 0xFFFE,但正在使用ISO-8859-1显示

所以你只需要传递参数encoding=utf-16',以便能够正确读取文件:

df = pd.read_csv(path_to_csv, encoding='utf-16')