Anyle孤狐 2023-04-02 17:30 采纳率: 100%
浏览 61
已结题

openpyxl库无法全部写入文本到单元格

关于使用openpyxl库,在单个单元格内无法完全将字符串插入的问题。

# 新建Excel文件,如果文件已经存在,则打开该文件
filename = "examplwe.xlsx"
print(filename)
if os.path.exists(filename):
    wb = openpyxl.load_workbook(filename)
else:
    wb = openpyxl.Workbook()
# 选择第一个工作表
worksheet = wb.active


#获取链接
hrefs = get_href_list(url)

wenben = urltaitou + hrefs[0]
all_text_str = get_all_text(wenben)

print(wenben,all_text_str)

worksheet.cell(1, 1, all_text_str)
# 保存文件
wb.save(filename)

代码如上,我要爬取某个网站的全部文本信息,由于网页文本较多,all_text_str字符串大概有15000个汉字,且由于某种原因,这些文本只能放置在一个单元格内(execl单元格完全可以放下那么多汉字),但是每次单元格内只能插入不到2000字,有时多有时少。
我在网上查了很久,没有相关信息。
我自己排查了很久,不知道问题出在哪里。
1、已排查获取的文本是否有特殊格式:没有特殊格式,全为汉字
2、是否是openpyxl库的问题:目前看来并不是,因为我也尝试了pandas 库,问题依旧
3、其他网页的文本是否可以全部置入单元格内:没有尝试过,但是应该不是,因为我尝试给字符串赋值全汉字,但是也无法全部放置进去

如上,请各位不吝赐教。谢谢了!

  • 写回答

5条回答 默认 最新

  • 阳光宅男xxb 2023-04-03 08:50
    关注

    关于python写入汉字到Excel无法全部写入的问题,我认为是你的文本中有空格或者其它字符的问题,我用python的pandas库测试过,可以在一个单元格内存入2万个汉字。测试代码:

    import  pandas as pd
    
    text = '你'
    text = text*20000
    data = pd.DataFrame([[1,text]],columns=['index','name'])
    
    data.to_excel('text.xlsx',encoding='utf8')
    d = pd.read_excel('text.xlsx',encoding='utf8',index_col=0)
    print(len(d.iloc[0]['name']))
    
    

    从最后的结果可以看到,我往一个单元格内存入了2万个‘你’ 最后再读取出来,文本的长度依然是2万。所有是可以存储这个多文本的,应该是文本中还有其他格式的数据。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 赞助了问题酬金15元 4月2日
  • 创建了问题 4月2日

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)