csv文件是以“,”为分隔符的特殊文件。

如果想把普通的文件导入到excel中,可以在这个普通的文件中添加“,”, 作为各列的分隔符。

假设目前有一个result.csv文件,我们需要把这些数据导入到excel中,一种方法是在excel中的数据部分,点击 从文本/CSV 进而导入csv文件,默认就是以逗号分隔,加载即可以形成xlsx文件。

csv to xlsx_csv

还有一种方法就是通过python来实现,这里以csv_to_xlxs.py为例,和result.csv文件在同一目录下。

result.csv

csv to xlsx_csv_02

csv_to_xlxs.py

openpyxl模块需要pip3 install

from openpyxl import Workbook
import datetime


def csv_to_xlsx_pd(sourcePath:str,savePath:str,encode='utf-8'):
    """将csv 转为 excel(.xlsx格式)
    如果不需要可以把计时相关代码删除
    Args:
        sourcePath:str 来源文件路径
        savePath:str 保存文件路径,需要包含保存的文件名,文件名需要是 xlsx 格式的
        encode='utf-8' 默认编码,可以改为需要的编码如gbk
    """
    print('开始处理%s' % sourcePath)
    curr_time = datetime.datetime.now()
    print(curr_time)

    f = open(sourcePath, 'r', encoding=encode)
    # 创建一个workbook 设置编码
    workbook = Workbook()
    # 创建一个worksheet
    worksheet = workbook.active
    workbook.title = 'sheet'

    for line in f:
        row = line.split(',')
        worksheet.append(row)
        # if row[0].endswith('00'):    # 每一百行打印一次
        #     print(line, end="")

    workbook.save(savePath)
    print('处理完毕')
    curr_time2 = datetime.datetime.now()
    print(curr_time2-curr_time)


if __name__ == '__main__':
    source = 'result.csv'
    save = 'result.xlsx'
    csv_to_xlsx_pd(sourcePath=source, savePath=save, encode='utf-8')

执行csv_to_xlxs.py脚本,过程如下:

csv to xlsx_csv_03

执行完成后,在同目录下形成result.xlsx文件:

csv to xlsx_csv_04

查看result.xlsx文件,显示如下:

csv to xlsx_excel_05

效果实现。