将多个 .xls 文件转换为 .csv python

Convert multiple .xls files into .csv python

我需要将很多文件从 .xls 文件转换为 .csv 文件。 我尝试使用循环来制作它:

excel_files = glob.glob("A/2018/*xls")

for excel in excel_files:
    out = excel.split('.')+'.csv'
    df = pd.read_excel(excel)
    df.to_csv(out)

我得到错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-62-a04c590b0fd7> in <module>
      1 for excel in excel_files:
----> 2     out = excel.split('.')+'.csv'
      3     df = pd.read_excel(excel)
      4     df.to_csv(out)

TypeError: can only concatenate list (not "str") to list

我可以更改哪些变量以及如何更改?

使用pathlib for this. In particular, the pathlib.Path.with_suffix()方法提供了一种更改文件扩展名的简单方法。

from pathlib import Path
import pandas as pd

excel_files = Path("A/2018").glob("*xls")

for excel_file in excel_files:
    df = pd.read_excel(excel_file)
    out_path = excel_file.with_suffix(".csv")
    df.to_csv(out_path)