使用Pandas在Python中读取.xlsx和.csv文件时遇到问题

时间:2020-06-30 19:32:08

标签: python csv xlsx

我打开并处理了一个.csv文件。它包含西里尔字母。当我尝试打开并将其另存为.xlsx文件时,出现错误。 当我保存新的.csv文件并将其打开时,西里尔字母变成了随机字符,实际上不可读(РђРЅРіРµР,Р” имммтър,РњРёСёРёСЂ等) You can see what i get as a result

我该怎么办?

1 个答案:

答案 0 :(得分:0)

两个输出文件都可以在Excel中正确打开。请注意,byte[] fileData; string fileName = ""; KitapArşivDataContext ka = new KitapArşivDataContext(); // Execute query to get actual file name of item. var query = from tbl_PDF in ka.tbl_PDF where tbl_PDF.Id == 1 select tbl_PDF; fileName = query.First().EserAdı; fileData = (byte[])query.First().PDFFile.ToArray(); Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.FileName = fileName; dlg.Filter = "PDF Document|*.pdf |2007 Word Document|*.docx|Rich Text Format|*.rft"; dlg.Title = "Save Document"; // Show save file dialog box Nullable<bool> result = dlg.ShowDialog(); if (result == true) { System.IO.FileStream fs = (System.IO.FileStream)dlg.OpenFile(); fs.Close(); } 需要额外的Python包才能写入Excel文件。我使用了.to_excel()

input.csv:

pip install openpyxl

代码:

Колонка1,Колонка2,Колонка3
Раз,два,три

仅供参考,import pandas as pd data = pd.read_csv('input.csv',encoding='utf-8-sig') # or whatever the actual encoding data.to_csv('output.csv',encoding='utf-8-sig') data.to_excel('output.xlsx',encoding='utf-8-sig') 不能单独与.to_csv()一起使用,但是utf8可以。