【发布时间】:2018-01-31 16:31:14
【问题描述】:
我想将位于我文件夹中的 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 文件,并将所有数据存储在一张纸上。
另外,我尝试了here的说法,但出现错误消息Invalid Excel character '[]:*?/\' in sheet name。
谢谢
【问题讨论】:
-
最长的工作表名称是多少 (
csv_file)? -
不是excel文件。 excel 工作簿中的工作表必须有 30 个字符或更少(如果您打开一个新的 excel 工作簿,工作表名称默认为“Sheet 1”“Sheet 2”等。如果您尝试,此名称不能超过 30 个字符重命名它
标签: python-3.x pandas export-to-excel pandas.excelwriter