【发布时间】:2020-02-27 16:05:09
【问题描述】:
有人可以建议我如何将 100 多个具有不同架构的 CSV 文件批量转换为使用 Python 保持原始子文件夹结构的单个 XLSX 文件?简而言之,我需要得到什么:
Folder:
Subfolder 1:
file.csv
Subfolder 2:
file2.csv
...
Subfolder N:
fileN.csv
目标:
Folder:
Subfolder 1:
file.csv
file.xlsx
Subfolder 2:
file2.csv
file2.xlsx
...
Subfolder N:
fileN.csv
fileN.xlsx
文件名不统一。
我正在尝试下面的代码,但它只是转换根文件夹中的文件。
for root, dirs, files in os.walk('.'):
for file in files:
for file in glob.glob(os.path.join('.', '*.csv')):
wb = openpyxl.Workbook()
ws = wb.active
with open(os.path.join(file), 'r') as f:
reader = csv.reader(f)
for r, row in enumerate(reader, start=1):
for c, val in enumerate(row, start=1):
ws.cell(row=r, column=c).value = val
wb.save(csvfile + '.xlsx')
【问题讨论】:
-
这能回答你的问题吗? How to use glob() to find files recursively?
-
@MauriceMeyer 我也无法使用递归。
-
出了什么问题,你在哪个部分苦苦挣扎?
-
@AMC,已经有了解决方案,谢谢!
-
@umidjon 找到解决方案很棒,但这不是唯一重要的事情,对吧?
标签: python csv type-conversion xlsx