想从指定路径的文件里提取批量csv文档里指定数据,并对应csv文件名生成每条数据放在新的excel中
该回答引用GPT:
可以使用Python来实现从指定路径的文件中提取批量csv文档里指定数据,并对应csv文件名生成每条数据放在新的excel中的功能。
import csv
import os
import xlwt
# 定义要提取的csv文件路径
csv_path = './csv_files'
# 定义要生成的excel文件路径
excel_path = './excel_files'
# 创建excel文件
workbook = xlwt.Workbook()
# 遍历csv文件
for file in os.listdir(csv_path):
# 判断是否为csv文件
if file.endswith('.csv'):
# 读取csv文件
with open(os.path.join(csv_path, file), 'r') as f:
reader = csv.reader(f)
# 创建excel表格
sheet = workbook.add_sheet(file.split('.')[0])
# 遍历csv文件中的每一行
for i, row in enumerate(reader):
# 遍历每一行中的每一列
for j, col in enumerate(row):
# 将每一列的数据写入excel表格
sheet.write(i, j, col)
# 保存excel文件
workbook.save(os.path.join(excel_path, 'result.xls'))
如还有疑问,可留言帮助解决。
Sub SaveToXLSX()
Dim fDir As String
Dim wB As Workbook
Dim wS As Worksheet
Dim fPath As String
Dim sPath As String
fPath = "X:\csv文件目录\"
sPath = "X:\excel文件保存目录\"
fDir = Dir(fPath)
Do While (fDir <> "")
If Right(fDir, 4) = ".csv" Or Right(fDir, 5) = ".csv" Then
On Error Resume Next
Set wB = Workbooks.Open(fPath & fDir)
'MsgBox (wB.Name)
For Each wS In wB.Sheets
wS.SaveAs sPath & wB.Name & ".xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Next wS
wB.Close False
Set wB = Nothing
End If
fDir = Dir
On Error GoTo 0
Loop
End Sub