首页 > 解决方案 > Python - 如何将 CSV 转换为 XLSX?

问题描述

我有一个将 CSV 转换为 XLXS 的代码,唯一的问题是当我进行转换时,一些数字列被存储为文本。这使得 SQL 无法从 nvarchar 转换为 float。

代码:

import csv, os
from glob import glob
from xlsxwriter.workbook import Workbook
import pandas as pd
import numpy as np

for csvfile in glob('FILE.CSV'):

    name = os.path.basename(csvfile).split('.')[-2]
    workbook = Workbook('FILE.xlsx', {'strings_to_numbers': True, 'constant_memory': True})
    worksheet = workbook.add_worksheet()


    with open(csvfile, 'r') as f:
        r = csv.reader(f, delimiter=';')
        for row_index, row in enumerate(r):
            for col_index, data in enumerate(row):
                worksheet.write(row_index, col_index, data)
                currency_format = workbook.add_format({'num_format': '$#,##0.00'})

    workbook.close()

    import openpyxl

    ss = openpyxl.load_workbook("file.xlsx")
    # printing the sheet names
    ss_sheet = ss['Sheet1']
    ss_sheet.title = 'plan1'
    ss.save("file.xlsx")

print("-------------------------------------------")
print("   .CSV to .XLSX Conversion Successful")
print("-------------------------------------------")

标签: pythoncsvexport-to-excel

解决方案


推荐阅读