programing

아랍어 문자가 포함된 CSV 파일이 Excel에서 기호로 표시됩니다.

magicmemo 2023. 7. 5. 20:36
반응형

아랍어 문자가 포함된 CSV 파일이 Excel에서 기호로 표시됩니다.

트위터에서 아랍어 트윗을 추출하여 CSV 파일로 저장하기 위해 파이썬을 사용하고 있는데, 엑셀에서 저장된 파일을 열면 아랍어가 기호로 표시됩니다.하지만 파이썬, 메모장, 단어 안에서는 보기 좋습니다.

어디가 문제인지 알 수 있을까요?

이것은 Microsoft Excel에서 아랍어 문자가 포함된 CSV 파일을 열 때 자주 발생하는 문제입니다.Windows 및 MacOS에서 최신 버전의 Microsoft Excel에서 테스트한 다음 해결 방법을 사용해 보십시오.

  1. 워크북에서 Excel 열기

  2. Data(데이터) 탭에서 From Text(텍스트에서) 버튼을 클릭합니다(활성화되지 않은 경우 빈 셀이 선택되었는지 확인).

  3. CSV 파일을 찾아 선택합니다.

  4. 텍스트 가져오기 마법사에서 File_origin을 "유니코드(UTF-8)"로 변경합니다.

  5. 다음으로 이동하고 구분 기호에서 파일에 사용된 구분 기호(: 쉼표)를 선택합니다.

  6. 완료하고 데이터를 가져올 위치를 선택

아랍 문자가 올바르게 표시되어야 합니다.

다음과 같이 encoding='utf-8' 대신 encoding='utf-8-incoding'사용하면 됩니다.

import csv

data = u"اردو"

with(open('example.csv', 'w', encoding='utf-8-sig')) as fh:
    writer = csv.writer(fh)
    writer.writerow([data])

제 기계에서 작동했어요.

가장 빠른 방법은 파일을 python의 .csv에 저장하는 것입니다.

  1. 메모장++을 사용하여 .csv 파일 열기
  2. 인코딩 드롭다운 메뉴에서 UTF-8-BOM을 선택합니다.
  3. save as(다른 이름으로 저장)를 클릭하고 확장명이 .csv(예: data.csv)인 동일한 이름으로 저장한 후 파일 형식을 .txt 그대로 유지합니다.
  4. Microsoft Excel을 사용하여 파일을 다시 엽니다.

제가 찾은 유일한 해결책은 python의 excel 파일에 아랍어를 저장하는 것입니다. 그리고 csv 대신 xlsx 확장자에 저장하는 것입니다. 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()

엑셀은 csv Import 시스템이 엉망인 것으로 알려져 있습니다.간단히 말해서 방금 내보낸 CSV 파일을 동일한 시스템에서 가져온 경우 원활하게 작동합니다.그렇지 않으면 csv 파일에서 윈도우즈 시스템 인코딩 및 구분 기호를 사용해야 합니다.

다소 어색하지만 강력한 시스템은 LibreOffice 또는 Oracle OpenOffice를 사용하는 것입니다.둘 다 csv 모듈을 제외한 모든 기능에서 Excel을 훨씬 능가합니다. csv 파일의 인코딩과 함께 구분 기호와 선택적 인용 문자를 지정할 수 있으며 결과 파일을 xslx로 저장할 수 있습니다.

내 인코딩이 "CSV"였지만UTF-8메모장을 사용하여 명시적으로 다시 실행하면 해결됩니다.

단계:

  • 메모장에서 CSV 파일을 엽니다.
  • 파일 --> 다른 이름으로 저장...을 클릭합니다.
  • 인코딩 드롭다운에서 UTF-8을 선택합니다.
  • .csv 확장명을 사용하여 파일 이름을 변경합니다.
  • 저장을 클릭합니다.
  • Excel을 사용하여 파일을 다시 엽니다.

그게 해결책인지는 모르겠지만 도움이 될 수도 있어요.

enter image description here

언급URL : https://stackoverflow.com/questions/60239099/csv-file-with-arabic-characters-is-displayed-as-symbols-in-excel

반응형