python中如何将csv文件转为xls文件

Posted rongge95500

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"


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)
    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)
    df_csv.to_excel(
        excel_writer=writer,
        index=False,
        header=False
    )

    writer.save()


csv_to_xls(c_path, x_path)

  

以上是关于python中如何将csv文件转为xls文件的主要内容,如果未能解决你的问题,请参考以下文章

将Excel文件转为csv文件的python脚本

如何批量将csv文件转换成xls文件

文本分析 - 无法将 Python 程序的输出写入 csv 或 xls 文件

如何将上传的 CSV 或 XLS 文件中的数据自动导入 Google 表格

Python将数据写入excel或者txt,读入csv格式或xls文件

项目2将csv文件转为xlsx