Python中文
首页
教程
问答
标签
搜索
登录
注册
python openpyxl read excel too
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个.xlsx文件,有1841行。每排有30个列。使用openpyxl将整个信息保存到列表中。在</p> <pre><code>def get_value(i,ws,article_row): value=ws.cell(row=article_row,column=i).value i+=1 return value,i def geneList(f): wb = load_workbook(filename=f, read_only=True) ws = wb.worksheets[0] max_row = ws.max_row info_list=[] for ar_row in range(2,max_row+1): i=3#start from the 3rd column: sourceid sourceID,i=get_value(i,ws,ar_row) pv,i=get_value(i,ws,ar_row) pubtype,i=get_value(i,ws,ar_row) ...... item_dict={'sourceID':sourceID,'pv':pv,'pubtype':pubtype, ...} info_list.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(item_dict) </code></pre> <p>但阅读所有信息需要20分钟左右。我不知道怎么解决这个问题?这是因为解析信息的速度很慢。将.xlsx转换为.csv?或者用其他工具阅读?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>这个问题与<code>cell</code>方法在只读模式下的广泛使用有关。在只读模式下,openpyxl按需读取相关工作表,以降低内存使用率,但这意味着每次查找时都会再次解析XML。您重写的代码强制openpyxl为每一行中的每个单元格重新分析文件,这显然很慢。这也是完全没有必要的,因为有一个API用于基于行的访问。只需将<code>ws.iter_rows()</code>与相关分隔符一起使用,即可获得所需的单元格。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何将python输出重定向到python控制台和Windows中的文本文件
10 回答
如何将Python运行时嵌入运行在Windows上的R包中
5 回答
如何将python进程作为另一个Windows us运行
3 回答
如何将Python进程的输出用Python管道传输?
3 回答
如何将Python进程的输出重定向到Rust进程?
4 回答
如何将python连接到Azure云并创建Azure数据工厂
4 回答
如何将Python连接到Db2
3 回答
如何将python连接到IBMDB2?
7 回答
如何将Python连接到microsoftaccess数据库文件?
6 回答
如何将python连接到MySQL服务器
9 回答
如何将Python连接到Node.js?
5 回答
如何将python连接到Oracle Application Express
6 回答
如何将Python连接到PostgreSQL
2 回答
如何将Python连接到Postgres服务器?
9 回答
如何将Python连接到SAS Enterprise Guide(EG)服务器
9 回答
如何将Python连接到Spark会话并保持RDDs的Ali
10 回答
如何将python连接到sqlite3并在上填充多行
5 回答
如何将python连接到使用docker运行的cassandra
6 回答
如何将python退格应用于字符串
10 回答
如何将python逻辑应用到tkinter GUI中?这是一个简单的GET请求程序
3 回答