0

我想将位于我的文件夹中的 CSV 文件导入到我已经拥有的 Excel 文件中。但是,由于某种原因,我无法做到。有一条错误消息:

Excel worksheet name 'XXXX.csv' must be <= 31 chars 
#(where XXXX is my first CSV file in the folder. It has less than 31 chars)

这是我的代码:

for csv_file in allFiles:
    pd.read_csv(csv_file).to_excel(report, sheet_name = csv_file)

report我之前创建的 Excel 文件在哪里,allFiles是一个包含我所有 CSV 文件的对象(代码:allFiles = glob.glob(path + "/*.csv")并且path是我的文件所在的位置,并且之前设置过)。

我正在使用以下库:

import pandas as pd
import glob
from pandas.io.excel import ExcelWriter

PD:我还尝试了以下代码:

with ExcelWriter('report2.xlsx') as ew:    
    for csv_file in allFiles:
        pd.read_csv(csv_file).to_excel(ew, '{}')

但它仅适用于两个 csv 文件,并将所有数据存储在一张纸上。

此外,我尝试了此处所述的内容,但出现了错误消息Invalid Excel character '[]:*?/\' in sheet name

谢谢

4

1 回答 1

0

尝试这个

for csv_file in allFiles:
    pd.read_csv(csv_file).to_excel(report, sheet_name = csv_file[:30]) #this will use the first 30 characters of the excel workbook name 
于 2018-01-31T17:09:58.083 回答