python中如何將csv文件轉為xls文件


廢話開端

要實現將csv文件轉換為xls文件,就需要用到python中非常強大的第三方庫---pandas。之前基本沒用過pandas,對它可以說是一點都不了解,但是最近在工作中要經常處理各種Excel、csv文件,就不得不用到了,也還是處於學習階段,一邊學習,一邊總結記錄。那我們都知道pandas不僅可以操作Excel,csv,而且還可以處理json、pickle、html、table等等各種類型的數據。功能強大,非常實用,深受廣大程序猿的喜愛,實屬開發之必備良品啊!

代碼實現

from io import StringIO
import csv
import pandas as pd

c_path = r"C:\Users\Desktop\新建文本文檔.csv"
x_path = r"C:\Users\Desktop\新建文本文檔.xls"   # 路徑中的xls文件在調用to_excel時會自動創建


def csv_to_xls(csv_path, xls_path):
    with open(csv_path, 'r', encoding='gb18030', errors='ignore') as f:
        data = f.read()
    data_file = StringIO(data)
    print(data_file)
    csv_reader = csv.reader(data_file)
    list_csv = []
    for row in csv_reader:
        list_csv.append(row)
    df_csv = pd.DataFrame(list_csv).applymap(str)
    '''
    這部分是不將csv裝換為xls,而是過濾后再寫入csv文件
    df_csv = df_csv[(df_csv[4] == '') | (df_csv[4] == 'name')]      # 過濾出第四列包含空值和name的數據
    df_csv.to_csv(csv_path, index=0, header=0, encoding='gb18030')  # 寫入csv文件中
    '''
    writer = pd.ExcelWriter(xls_path)
    # 寫入Excel
    df_csv.to_excel(
        excel_writer=writer,
        index=False,
        header=False
    )

    writer.save()
    # 刪除csv文件
    os.remove(c_path)


csv_to_xls(c_path, x_path)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM