我有一个巨大的文本文件,我希望通过首先通过使用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`
答案 0 :(得分:1)
输入文件的问题在于它有一个utf-16 little endian BOM这就是为什么你会看到有趣的字符:ÿþ
0xFFFE
,但正在使用ISO-8859-1显示
所以你只需要传递参数encoding=utf-16'
,以便能够正确读取文件:
df = pd.read_csv(path_to_csv, encoding='utf-16')