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