Python 如何将dataframe下载或转换为excel文件?

Python 如何将dataframe下载或转换为excel文件?,python,pandas,encoding,utf-8,base64,Python,Pandas,Encoding,Utf 8,Base64,正在尝试将dataframe转换或下载为包含阿拉伯语数据的excel文件 但当我运行脚本时,系统崩溃并显示以下错误: AttributeError: 'NoneType' object has no attribute 'encode' Traceback: File "F:\AIenv\lib\site-packages\streamlit\script_runner.py", line 333, in _run_script exec(code, module._

正在尝试将dataframe转换或下载为包含阿拉伯语数据的excel文件

但当我运行脚本时,系统崩溃并显示以下错误:

AttributeError: 'NoneType' object has no attribute 'encode'
Traceback:
File "F:\AIenv\lib\site-packages\streamlit\script_runner.py", line 333, in _run_script
    exec(code, module.__dict__)
File "f:\AIenv\streamlit\app2.py", line 712, in <module>
    main()
File "f:\AIenv\streamlit\app2.py", line 250, in main
    transform(df)
File "f:\AIenv\streamlit\app2.py", line 178, in transform
    download_file(df, types, new_types, "xls")
File "f:\AIenv\streamlit\app2.py", line 141, in download_file
    b64 = base64.b64encode(excel.encode()).decode("utf-8")

此代码中的错误在哪里?

方法用于将数据帧导出到excel文件中。它是一个void方法,因此不返回任何内容。您尝试将返回值放入名为excel的变量中,由于该方法不返回任何内容,因此excel变量等于None。这就是错误的原因。

to\u excel方法写入文件并返回
None
。如果要将文件内容编码为base64,请将其读回:

将熊猫作为pd导入
导入base64
df=pd.DataFrame({'SourceNo':[111921119311194],
‘发布日期’:[‘2021年3月15日’、‘2021年3月15日’、‘2021年3月15日’],
'نوع':['هاتف','تلفاز','سماعة'],
'مكان الحدث':['حي السلم','منطقة الشمال','ميناء'],
'التاريخ':['3/15/2021','3/15/2021','3/15/2021'],
'أشخاص':['مواطنون','مواطنون','مجهول']})
df.to_excel('update2.xlsx',index=False,header=True,encoding='utf-8')
将open('update2.xlsx','rb')作为f:
b64=base64.b64编码(f.read())

能否请您提供数据我编辑我的问题并添加图像作为
数据的样本
能否以代码格式提供它?好的,那么如何修复错误并将
excel
变量指定为正确的值?
import pandas as pd 
import base64
        
data=pd.DataFrame({
           "SourceNo":[11192,11193,11194],
          "IssuedDate":['3/15/2021','3/15/2021','3/15/2021'],
          نوع":["هاتف","تلفاز","سماعة"]",
          مكان الحدث":["حي السلم","منطقة الشمال","ميناء"]", 
          التاريخ":["3/15/2021","3/15/2021","3/15/2021"]",
          أشخاص":["مواطنون","مواطنون","مجهول"]"
             })  

        df=pd.read_excel(data)
        excel = df.to_excel(r"F:\update2.xlsx", index = False, header=True,encoding="utf-8")
        b64 = base64.b64encode(excel.encode()).decode("utf-8")