-
2021-08-27 11:27:07
问题描述
有时候,我们对数据表做了groupby、set_index设置多级目录后,就会想把DataFrame的格式导出成Excel格式,而非csv格式。因为导出成csv格式,可能多级index的格式就会消失,当你要输出个漂亮的格式给人看的时候,csv显然是不如excel好看的。
不过,excel格式还有个蛋疼的缺点,那就是单个excel文件输出长度65535的限制。假如你的excel文件超长了,你大概会得到以下报错:
~/anaconda3/lib/python3.6/site-packages/xlwt/Worksheet.py in write_merge(self, r1, r2, c1, c2, label, style) 1111 def write_merge(self, r1, r2, c1, c2, label="", style=Style.default_style): 1112 assert 0 <= c1 <= c2 <= 255 -> 1113 assert 0 <= r1 <= r2 <= 65535 1114 self.write(r1, c1, label, style) 1115 if c2 > c1: AssertionError:
也可能是这样的报错:
ValueError: This sheet is too large! Your sheet size is: ..., ... Max sheet size is: 1048576, 16384
问题解决
很简单 ,在to_excel中加一个参数即可:
df.to_excel('test.xls', engine='openpyxl')
注意engine参数,设置该值为’openpyxl’,即可忽略pandas输出excel的文件长度限制了
更多相关内容 -
pandas to_excel 添加颜色操作
2020-09-16 12:50:19主要介绍了pandas to_excel 添加颜色操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
pandas read_excel()和to_excel()函数解析
2020-09-18 15:17:22主要介绍了pandas read_excel()和to_excel()函数解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
pandas to_excel IllegalCharacterError异常处理
2021-09-01 16:38:37当dataframe存为excel时,报错openpyxl.utils.exceptions.IllegalCharacterError 说明你的数据集中存在着特殊字符。 定义如下的函数 来对文本数据进行处理,apply在可能出现特殊字符的列上,即可正产生成excel。还能...当dataframe存为excel时,报错openpyxl.utils.exceptions.IllegalCharacterError
说明你的数据集中存在着特殊字符。
定义如下的函数 来对文本数据进行处理,apply在可能出现特殊字符的列上,即可正产生成excel。还能定位出异常数据。def get_IllegalCharacter(value): # 定义文本编码 与 输入、输出文本编码保持一致 encoding = 'utf-8' if value is None: return # convert to unicode string if not isinstance(value, str): # from openpyxl.compat import unicode value = unicode(value, encoding) value = unicode(value) # string must never be longer than 32,767 characters # truncate if necessary value = value[:32767] ILLEGAL_CHARACTERS_RE = re.compile(r'[\000-\010]|[\013-\014]|[\016-\037]') if next(ILLEGAL_CHARACTERS_RE.finditer(value), None): return '文本异常' return value
-
Pandas to_excel参数
2021-01-15 13:26:23Pandas to_excel参数 import pandas as pd import numpy as np df=pd.DataFrame([[1,2,np.nan],[4,5...df.to_excel(excel_writer=r'C:\Users\Administrator\Desktop\2.xlsx', sheet_name='hello_pandas', na_rep=111Pandas to_excel参数
import pandas as pd import numpy as np df=pd.DataFrame([[1,2,np.nan],[4,5,6]],columns=list('abc')) print(df) df.to_excel(excel_writer=r'C:\Users\Administrator\Desktop\2.xlsx', sheet_name='hello_pandas', na_rep=111, columns=['a','b','c'], header=1, index=True, index_label=['我是index'], startrow=1, startcol=1, freeze_panes=(1,1)) ''' excel_writer 保存的位置 sheet_name 默认'Sheet1' na_rep 默认'',把nan替代为... columns 选择存入的列,传入list header 指定作为列名的行,默认True,第一行,如果数据不含列名,header=False index 默认True,当False时不加索引 index_label index的名字 startrow 保存的df在目标文件的第几行开始 startcol 保存的df在目标文件的第几列开始 freeze_panes 传入元祖,(1,1),冻结第一行第一列 '''
-
python pandas to_excel 高级玩法
2020-12-11 08:16:42DataFrame.to_excel(self, excel_writer, sheet_name=‘Sheet1‘, na_rep=‘‘,float_format=None, columns=None, header=True, index=True,index_label=None, startrow=0, startcol=0, engine=None,merge_cells=...DataFrame.to_excel(self, excel_writer, sheet_name=‘Sheet1‘, na_rep=‘‘,
float_format=None, columns=None, header=True, index=True,
index_label=None, startrow=0, startcol=0, engine=None,
merge_cells=True, encoding=None, inf_rep=‘inf‘, verbose=True,
freeze_panes=None):
1、freeze_panes :固定行和列 int类型的 tuple
2、inf_rep : python会出现最小值 无限接近为0 的值为inf inf_rep 为替换所有这个值
3、na_rep : inf_rep 为替换 np.nan 值
4、merge_cells :默认为True 为合并索引的
5、添加颜色 :
def style_apply(series, colors, **kwargs):
"""
:param series: 传过来的数据是DataFrame中的一列 类型为pd.Series
:param colors: 内容是字典 其中key 为标题名 value 为颜色
:return:
"""
# print(series,type(series))
series_names = series.name
first_name = series_names[0]
# second_name = series_names[1] if len(series_names) > 1 else ‘‘
back_ground_list = list()
for cell in series:
back_ground = ‘‘
if isinstance(colors, str):
back_ground = ‘background-color: ‘ + colors
elif isinstance(colors, dict):
if first_name in colors:
back_ground = ‘background-color: ‘ + colors[first_name]
else:
logging.info(‘有问题‘)
back_ground_list.append(back_ground)
# print(len(back_ground_list))
return back_ground_list
# style_apply 为上面你的方法 colors 为颜色字典 目的是为了给不同的标题设置不同的颜色
# DataFrame 中的的 apply 默认传参为 为 DataFrame 中的一列 Series
df = df.apply(style_apply, colors=colors, kwargs=kwargs)
-
关于excel:Python pandas to_excel’utf8’编解码器无法解码字节
2020-12-03 21:26:18我正在尝试在Python pandas中做一些数据工作,并且无法写出我的结果。我将我的数据作为CSV文件读取并导出每个脚本,因为它自己的CSV文件工作正常。最近,尽管我尝试使用工作表将所有内容导出到1个Excel文件中,但... -
pandas to_excel()追加写入时文件为空
2020-07-14 09:21:53df1.to_excel(excel_writer=writer,sheet_name='公司维度表') df2.to_excel(excel_writer=writer, sheet_name='货物维度表') writer.save() writer.close() 切记:要把最后两行加上才会真正把数据保存到文件中,... -
python pandas to_excel的时候字段值超长的解决办法
2020-12-21 15:34:16writer = pd.ExcelWriter(filePath,engine='xlsxwriter',options={'strings_to_urls': False}) df.to_excel(writer,index=False) writer.save() -
【Python小笔记】1解决pandas to_excel覆盖原sheet,2同时写入多个sheet
2021-09-06 14:51:11from openpyxl import load_...excel_writer = pd.ExcelWriter(topath, engine='openpyxl')#生成一个ExcelWriter对象 book = load_workbook(excel_writer.path)#记录下这个Excel文件的原有sheet excel_writer.book -
Python pandas read_excel to_excel 按行列处理数据
2022-07-18 21:03:01Python pandas read_excel to_excel 按行列处理数据 -
解决pandas .to_excel不覆盖已有sheet的问题
2020-09-19 21:11:43今天小编就为大家分享一篇解决pandas .to_excel不覆盖已有sheet的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
pandas to_excel:写入数据,在同一个sheet中追加数据,写入到多个sheet里
2020-06-15 17:36:36pandas to_excel:写入数据,写入到多个sheet里,在同一个sheet中追加数据 一、写入数据 了解下to_excel 的其他参数,写入操作非常简单 df.to_excel('aa.xlsx') 二、写入到多个sheet中 这个就和之前写过的“解决... -
pandas to_excel 添加颜色
2019-05-07 15:57:00import pandas as pd import numpy as np columns = [['A', 'A', 'B', 'B', 'C'], ['a', 'b', 'c', 'd', 'e']]# 创建形状为(10,5) 的DataFrame 并设置二级标题 demo_df = pd.DataFrame(np.arange(50).... -
pandas to_excel,把数据存到不同的sheet
2020-01-04 16:27:16writer = pd.ExcelWriter('SPX_HSI_HS300.xls') df_SPX.to_excel(writer,"SPX") df_HSI.to_excel(writer,"HSI") df_HS300.to_excel(writer,"HS300") writer.save() -
pandas to_excel
2019-02-11 17:18:00报错:IllegalCharacterError 其原因是字段中包含了unicode字符。 解决方案: # 首先,安装python包xlsxwriter ...pip install xlsxwriter ...df.to_excel("test.xlsx", engine='xlsxwriter',index=Fals... -
pandasxlframer:一个更简单的包装器,用于增强Pandas的to_excel功能以实现高级格式化
2021-03-16 13:41:49这可以通过以下代码完成: ( df.excel_format.add_header(title_text="兴趣点为空统计总览") .set_columns_format(int_map) .column_color("频道", green, skip_row=2) .merge_column_cell("频道") .row_color(2 -
pandas read_excel 和 to_excel 读写Excel的参数详解
2022-06-23 17:22:27Python 读写 Excel 可以使用 ...Pandas 读写 Excel 主要用到两个函数,下面分析一下 pandas.read_excel() 和 DataFrame.to_excel() 的参数,以便日后使用。 常用参数: to_excel 函数 常用参数:......... -
python pandas read_excel 参数详解 to_excel 读写Excel
2020-12-30 10:23:45Pandas 读写 Excel 主要用到两个函数,下面分析一下 pandas.read_excel() 和 DataFrame.to_excel() 的参数,以便日后使用。 1. pandas.read_excel pandas.read_excel(io,sheet_name=0,header=0,names=No -
Python pandas如何向excel添加数据
2020-09-16 20:23:53主要介绍了Python pandas如何向excel添加数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 -
pandas函数to_excel
2021-10-27 17:43:17DataFrame.to_excel(excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, ... -
pandas中read_excel() 和 to_excel()各参数详解
2021-02-09 07:25:261. read_excelread_excel方法定义:pandas.read_excel(io, sheet_name=0, header=0, skiprows=None,skip_footer=0, index_col=None, names=None, usecols=None,parse_dates=False, date_parser=None, na_values=None... -
Pandas:to_excel 在原Excel表 追加写入数据
2021-11-18 16:09:22df_data.to_excel('xxx.excel', 'sheet1', index=False) 保存为单个Excel文件和这个文件中的单个表。 如果先前存在有同名的Excel文件,这样做会把之前的Excel文件覆盖掉。 2、直接写入 if not os.path.exists...