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

时间:2019-07-19 20:30:20

标签: python python-3.x jupyter-notebook

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

的一些代码
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')

2 个答案:

答案 0 :(得分:0)

使用熊猫,这项任务应该非常简单。

import pandas as pd

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

您可以通过将字符串更改为适当的文件名来处理任意数量的文件。

编辑

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

答案 1 :(得分:0)

解决方案应该是这样的

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')