python - 在“;”处将 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()
解决方案
这就是您可以通过以下方式将 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()
推荐阅读
- python - 使用 CSV 的第二列按升序排序?
- netty - Netty ctx.executor().scheduleAtFixedRate 任务在通道关闭时也可以工作
- android-layout - Android多屏指南
- java - 我如何发送带有 groovy 错误的电子邮件(com.sun.mail.smtp.SMTPSendFailedException: 530-5.5.1 Authentication Required。了解更多信息)
- azure-ad-b2c - 根据扩展属性阻止/拒绝用户登录
- javascript - 在按钮单击时附加 JSON 值
- debian - 在 Debian 之外构建轮子
- javascript - JS 粒子注入 param :id (在本地显示,不在 Heroku 生产中)
- tsql - TSQL:为表 IDENTITY 列设置起始编号
- python - Keras 函数式 API 多输入 LSTM