如何使用python将大量数据导出到Excel中的
1、安装openpyxl模块
2、调用openpyxl模块,将变量中的数据写入excel
具体的操作流程需要根据您的需求和数据格式。
python 如何读取excel文件 将每一行存为数组
from xlrd import open_workbook
wb=open_workbook(r'd:/222.xlsx')
tb=wb.sheets()[0]
data=[]
for r in range(tb.nrows):
val=[]
for c in range(tb.ncols):
val.append(tb.cell_value(r,c))
data.append(tuple(val))
print(data)
请教大神们,如何利用python将txt文件的一些关键字段的内容提取出来,从而形成可方便导入到excel中的数据
def iterdatainfile(filename, spliter='\t'):
with open(filename, 'rt') as handle:
for ln in handle:
yield ln.split(spliter)
focue, LF = 1, '\n'
with open("output.txt", 'wt') as handle:
handle.writelines([row[focue] LF
for row in iterdatainfile('test.txt',
spliter='|')])
python中用openpyxl读取excel表格数据,并且转换成字典格式
'''
如题。excel表格数据里面有班级,姓名,性别,学号的数据。如何据全部读取,
并一行数据都显示为一个字典?
比如这样展示:班级:一(1)班,姓名:小明,性别:男,学号:110
'''
'''
思路:
先将表头每格数据读取出来,放在列表中:[‘班级’,‘姓名’,‘性别’,‘学号’]
再将表头下面每行也读取出来,放在列表中:['一(1)班','小明‘,’男','110’]
关键就算要用zip函数,首先了解zip的作用
是将2个列表中的数据第一个和第一个组合成元组,第二个和第二个组合成元组,以此类推
但它是存放在内存中,要将他们变成列表用到list()函数,最后列表要变成字典用到dict{}函数
'''
import openpyxl
# 读取excel中的数据
# 第一步打开工作簿
wb = openpyxl.load_workbook('cases.xlsx')
# 第二步选取表单,注意Sheet是大写的S
sheet = wb['Sheet1']
# 按行获取数据转换成列表
# 先定义一个总的列表所有的行先放在列表中
rows_data = list(sheet.rows)
# 获取表单的表头信息(第一行),也就是列表的第一个元素
titles = []
for title in rows_data[0]:
titles.append(title.value)
# print(title.value) # 打出来看看
# 遍历出除了第一行的其他行
for a_row in rows_data[1:]:
# the_row_data用来临时存放每一行数据
a_row_data = []
# 遍历每一行的单元格
for cell in a_row:
# print(cell.value) # 取单元格的值
# 判断该单元格的值是否为字符串类型,
# 因为有些是空的,
# 是字符串就转换成python表达式,空的就不是字符串类型就直接添加
if isinstance(cell.value, str):
a_row_data.append(eval(cell.value))
else:
a_row_data.append(cell.value)
# print(data) #打印出来看看
# 将表头和该条数据内容,打包成一个字典
rows_dict = dict(list(zip(titles, a_row_data)))
# all_rows.append(rows_dict)
print(rows_dict)
用Python导出工程文件两个子页里的数据成为两个excel表格,但我想把它合并成个一个excel表格的两个sheet
可以采用操作Excel的模块去实现,比如xlrd、xlwt、openpyxl、xlsxwriter块。xlrd模块主要用取Excel表,xlwt与xlsxwriter模块主要将数据写入表中,两个模块任选其一即可,但是xlwt与xlsxwriter模块不支持修改表,所以在信息追加的时候会较麻烦,有些朋友可能这个地方遇到了很大的问题,其实这个问题至少有两种思路解决:
A、换成其他模块,比如openpyxl等,这个模块实现起来会相对简单一些,比如目前已经收到的苏wisdom同学采用的就是这种方法,值得表扬,所以以下方法1会参照苏wisdom同学的答案。此外,截止至目前为止『歹ピ№ㄕ』同学、微雨同学、黄梦颖同学已经提交第二次作业,一并表扬。
B、仍然使用xlwt与xlsxwriter等模块,但是先将每次读取的信息存储到list(列表)中,然后,最后一次写入。这一种方式稍微复杂一些,所以老师在方法2中采用这种方式去写,目的是给大家一个解决方案的参考,有更优的方案可以随时邮箱反馈。
此外,还有一个难点,即一个表格中有多个sheet,我们希望能够用程序自动获取这多个sheet,然后将各sheet中的内容一并写入到最终表格中,目前答案中暂时没有看到解决这个问题,如果大家能解决这个问题,是极好的。各位同学可以参考老师的第二种方法,第二种方式中,考虑了多个sheet的问题,各位也可以对程序进行优化。