我当前将此数据存储为result
变量。你知道吗
['Draw Date:']
['Draw Date:']
['']
['']
['']
['Draw Date: 2019-01-15']
['']
['Perdana Lottery']
[]
['F', '2771', 'M', '0133', 'A', '6215']
[]
['A', '----', 'B', '1859', 'C', '3006', 'D', '3327']
['E', '5699', 'F', '----', 'G', '1123', 'H', '9193']
['I', '9076', 'J', '0573', 'K', '0950', 'L', '7258']
['', 'M', '-----', '', '', '']
['N', '1226', 'O', '0565', 'P', '1563', 'Q', '1420']
['R', '5265', 'S', '9345', 'T', '0483', 'U', '0933']
['', 'V', '6468', 'W', '3247', '']
['']
['']
['']
['']
我想将此数据导出到.csv或.xls格式的表中,如下所示:
+------------+----------+----------+----------+----------+-------------+
| Date | First | Second | Third | Special | Consolation |
+------------+---+------+---+------+---+------+---+------+---+---------+
| 2019-01-15 | F | 2771 | M | 0133 | A | 6215 | A | ---- | N | 1226 |
| | | | | | | | B | 1859 | O | 0565 |
| | | | | | | | C | 3006 | P | 1563 |
| | | | | | | | ... etc | ... etc |
+------------+---+------+---+------+---+------+----------+-------------+
。。。etc表示上述结果变量的剩余数据。我不是为了避免混乱才写出来的。你知道吗
那么,我应该使用哪些模块以及如何使用它们呢?请注意,我是个十足的Python新手。我只知道一些PHP的东西,但老实说,我开始喜欢py了。你知道吗
第一个问题是你需要知道奖品之间的分配。如果看不到
Special Prize
文本,这将很困难。另一种方法是使用find_all()
来发现td
和th
元素。列表仅添加非空单元格。这将产生一个包含您需要的所有数据的列表。你知道吗cols
包含所需列的列表。这是手动填写的第一,第二和第三奖,因为这些条目应该是固定的。然后使用循环将相应的字母和奖品添加到最后四列。你知道吗Python
groupby()
函数可用于将列表分组到由split_on
中的元素分隔的子组中。你知道吗这将导致CSV文件在加载到电子表格包时具有以下类型的格式:
这里使用了很多Python技术,需要花一段时间才能理解。
grouper
例如是itertools recipes之一。islice()
是一种迭代对象的方法,无需从第一个位置开始。你知道吗CSV文件的最终输出是使用Python的CSV库完成的。这会将行列表转换为格式正确的输出行。由于数据是列格式的,因此需要一种技巧将列表转换为行列表,这是使用
zip_longest()
完成的。你知道吗如果您向代码中添加print语句以查看数据的外观,可能会有所帮助。你知道吗
注意,要将数据直接保存为Excel格式(.xlsx),您需要安装另一个库,例如可以使用openpyxl或xlwt。你知道吗
相关问题 更多 >
编程相关推荐