我正在使用python从twitter中提取阿拉伯语tweet并将其保存为CSV文件,但当我在excel中打开保存的文件时,阿拉伯语显示为符号。请问问题出在哪里?
tpxzln5u1#
这是我在使用Microsoft Excel打开包含阿拉伯字符的CSV文件时经常遇到的问题。请尝试以下解决方法,我在Windows和Mac OS上的最新版本的Microsoft Excel上测试了该方法:1.在空白工作簿上打开Excel1.在数据选项卡中,单击来自文本按钮(如果未激活,请确保选择空单元格)1.浏览并选择CSV文件1.在“文本导入向导”中,将文件源更改为“Unicode(UTF-8)”1.转到下一步,从分隔符中选择文件中使用的分隔符,例如逗号1.完成并选择导入数据的位置阿拉伯字符应正确显示。
z5btuh9x2#
只需使用encoding ='utf-8-sig'而不是encoding ='utf-8',如下所示:
import csv data = u"اردو" with(open('example.csv', 'w', encoding='utf-8-sig')) as fh: writer = csv.writer(fh) writer.writerow([data])
在我的机器上工作。
mftmpeh83#
唯一的解决方案,我发现保存到一个excel文件从python的阿拉伯语是使用Pandas和保存到xlsx扩展名,而不是csv,xlsx似乎百万倍更好这里的代码,我已经放在一起,为我工作
import pandas as pd def turn_into_csv(data, csver): ids = [] texts = [] for each in data: texts.append(each["full_text"]) ids.append(str(each["id"])) df = pd.DataFrame({'ID': ids, 'FULL_TEXT': texts}) writer = pd.ExcelWriter(csver + '.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1', encoding="utf-8-sig") # Close the Pandas Excel writer and output the Excel file. writer.save()
ffdz8vbo4#
众所周知,Excel有一个糟糕的csv导入系统。长话短说,如果在同一个系统上导入一个刚刚导出的csv文件,它将顺利工作。否则,csv文件将使用Windows系统编码和分隔符。一个相当笨拙但健壮的系统是使用LibreOffice或Oracle OpenOffice。除了csv模块之外,这两个系统在任何特性上都远远超过Excel:它们将允许您指定分隔符和可选的引用字符沿着csv文件的编码,并且您将能够以xslx保存结果文件。
ljsrvy3e5#
虽然我的CSV文件编码是UTF-8;但是使用记事本再次明确地重做它就解决了这个问题。
UTF-8
步骤:
30byixjq6#
最快的方法是从python将文件保存到.csv之后:1.使用记事本++打开.csv文件1.从编码下拉菜单中选择UTF-8-BOM1.单击“保存为”并使用相同的名称和.csv扩展名(例如,数据.csv)保存在,并保持文件类型为.txt1.请使用Microsoft Excel重新打开该文件。
6条答案
按热度按时间tpxzln5u1#
这是我在使用Microsoft Excel打开包含阿拉伯字符的CSV文件时经常遇到的问题。请尝试以下解决方法,我在Windows和Mac OS上的最新版本的Microsoft Excel上测试了该方法:
1.在空白工作簿上打开Excel
1.在数据选项卡中,单击来自文本按钮(如果未激活,请确保选择空单元格)
1.浏览并选择CSV文件
1.在“文本导入向导”中,将文件源更改为“Unicode(UTF-8)”
1.转到下一步,从分隔符中选择文件中使用的分隔符,例如逗号
1.完成并选择导入数据的位置
阿拉伯字符应正确显示。
z5btuh9x2#
只需使用encoding ='utf-8-sig'而不是encoding ='utf-8',如下所示:
在我的机器上工作。
mftmpeh83#
唯一的解决方案,我发现保存到一个excel文件从python的阿拉伯语是使用Pandas和保存到xlsx扩展名,而不是csv,xlsx似乎百万倍更好这里的代码,我已经放在一起,为我工作
ffdz8vbo4#
众所周知,Excel有一个糟糕的csv导入系统。长话短说,如果在同一个系统上导入一个刚刚导出的csv文件,它将顺利工作。否则,csv文件将使用Windows系统编码和分隔符。
一个相当笨拙但健壮的系统是使用LibreOffice或Oracle OpenOffice。除了csv模块之外,这两个系统在任何特性上都远远超过Excel:它们将允许您指定分隔符和可选的引用字符沿着csv文件的编码,并且您将能够以xslx保存结果文件。
ljsrvy3e5#
虽然我的CSV文件编码是
UTF-8
;但是使用记事本再次明确地重做它就解决了这个问题。步骤:
30byixjq6#
最快的方法是从python将文件保存到.csv之后:
1.使用记事本++打开.csv文件
1.从编码下拉菜单中选择UTF-8-BOM
1.单击“保存为”并使用相同的名称和.csv扩展名(例如,数据.csv)保存在,并保持文件类型为.txt
1.请使用Microsoft Excel重新打开该文件。