【问题标题】:How to convert multiple .xlsx files in to .csv using pandas and globe如何使用 pandas 和 globe 将多个 .xlsx 文件转换为 .csv
【发布时间】:2018-08-02 16:52:47
【问题描述】:

我有一个文件夹JanuaryDataSentToResourcePro,其中包含多个 .xlsx 文件。 我想遍历文件夹并将它们全部转换为 .csv 并保持相同的文件名。

为此,我正在尝试实现 glob,但出现错误:TypeError: 'module' object is not callable

import glob
excel_files = glob('*xlsx*')

for excel in excel_files:
    out = excel.split('.')[0]+'.csv'
    df = pd.read_excel(r'''C:\Users\username\Documents\TestFolder\JanuaryDataSentToResourcePro\ResourceProDailyDataset_01_01_2018.xlsx''', 'ResourceProDailyDataset')
    df.to_csv(out) 

我是 python 新手。看起来对吗?

更新:

import pandas as pd
import glob
excel_files = glob.glob("*.xlsx")

for excel in excel_files:
    out = excel.split('.')[0]+'.csv'
    df = pd.read_excel(excel, 'ResourceProDailyDataset')
    df.to_csv(out)

但仍然没有将 .xlsx 转换为 .csv

【问题讨论】:

    标签: python pandas glob


    【解决方案1】:

    glob 包应该像这样使用:

    import glob
    f = glob.glob("*.xlsx")
    

    glob 不是方法,但 glob.glob 是。

    =========================================

    import glob
    excel_files = glob.glob('C:/Users/username/Documents/TestFolder/JanuaryDataSentToResourcePro/*.xlsx') # assume the path
    for excel in excel_files:
        out = excel.split('.')[0]+'.csv'
        df = pd.read_excel(excel) # if only the first sheet is needed.
        df.to_csv(out) 
    

    【讨论】:

    • 谢谢。它不再给我一个错误,但 .xlsx 文件由于某种原因尚未转换为 .csv。
    • 循环中的 read_excel 仅读取“'C:\Users\username\Documents\TestFolder\JanuaryDataSentToResourcePro\ResourceProDailyDataset_01_01_2018.xlsx”。您需要将 excel 放在这里而不是这个特定的文件名。
    • 但是它怎么知道去哪个文件夹呢?
    • 我为你添加解决方案,如果可以请投票。
    • 如果每个excel文件只有一张,可以直接忽略。
    猜你喜欢
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 2017-07-14
    • 2015-07-04
    相关资源
    最近更新 更多