首页 > 解决方案 > 在“;”处将 csv 转换为 xlsx 拆分 到不同的列

问题描述

我目前正在尝试将 csv 文件转换为 xlsx 文件。我确实在这里找到了很多关于如何做到这一点的帮助,但我有一个主要问题。

我的 csv 文件有一些数据存储在不同的列中。如果我在 python 中将该文件转换为 xlsx,则所有数据都会放入带有“;”的列中 它们之间。但是如何将列保留在 xlsx 文件中?

如果我打开 csv 文件并将其保存为 xlsx,它也可以工作,并且一切都保持不变。

编辑:

import os
import glob
import csv
from xlsxwriter.workbook import Workbook

for csv_f in glob.glob(os.path.join('.', '*.csv')):
    workbook = Workbook(csv_f[:-4] + '.xlsx')
    worksheet = workbook.add_worksheet()
    with open(csv_f, 'rt', encoding='utf8') as f:
        reader = csv.reader(f)
        for r, row in enumerate(reader):
            for c, col in enumerate(row):
                worksheet.write(r, c, col)
    workbook.close()

标签: pythonexcelcsv

解决方案


这就是您可以通过以下方式将 csv 转换为 xlsx 的方法xlsxwriter

import os
import glob
import csv
from xlsxwriter.workbook import Workbook


    for csv_f in glob.glob(os.path.join('.', '*.csv')):
        workbook = Workbook(csv_f[:-4] + '.xlsx')
        worksheet = workbook.add_worksheet()
        with open(csv_f, 'rt', encoding='utf8') as f:
            reader = csv.reader(f)
            for r, row in enumerate(reader):
                for c, col in enumerate(row):
                    worksheet.write(r, c, col)
        workbook.close()

推荐阅读