用于复制CSV文件并另存为XLSX文件的Python脚本



我在计算机上的特定文件夹中有一系列csv文件。需要编写一个python代码来选择这些CSV文件并将它们提取到我的驱动器上的另一个指定文件夹中作为XLSX。在每个文件上,列 L,M,N 的格式为 Date。Column AA & AF 的格式为 Number。其他列可以存储为文本或常规。这是我卡住的一些代码

from openpyxl import Workbook
import csv

wb = Workbook()
ws = wb.active
with open('test.csv', 'r') as f:
    for row in csv.reader(f):
        ws.append(row)
wb.save('name.xlsx')

使用熊猫,这个任务应该很简单。

import pandas as pd
df = pd.read_csv('test.csv')
df.to_excel('test.xlsx')

您可以通过将字符串更改为适当的文件名来对任意数量的文件执行此操作。

编辑

我不确定您是否可以按所需的类型保存。您可以使用其他软件包甚至熊猫来更改它。在熊猫中,您可以对系列执行pd.to_dateimepd.to_numeric以更改其类型。您还可以在导入时指定dtype。希望对您有所帮助!

解决方案应该是这样的

import pandas as pd
import os
dpath = 'path//to//folder'
for filename in os.listdir('dpath'):
    df = pd.read_csv(path + '/' + filename)
    df = df['a':'b'] #select required columns based on your requirement.
    df["a"] = pd.to_numeric(df["a"]) # convert datatype of the column based on your need
    df1.append(df)
    del df
df1.to_excel('test.xlsx')

最新更新