将excel转为python的字典_python打开excel_python中用openpyxl读取excel表格数据,并且转换成字典格式...

请问Python如何将print后的值导到原来的表格里(一开始导入excel利用Python计算)

pandas.DataFrame.to_excel

由dataframe对象直用,然后指定名、表名等各种参数。函数定义:

DataFrame.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, encoding=None, inf_rep='inf', verbose=True, freeze_panes=None)

用xlwt模块,感觉更简单

怎么用python读取txt文件里指定行的内容,并导入excel

如果文件不大,建议下面的方法。由linecache会缓存,所以文件可以使用自己简单是实现getline:

def getline(thefilepath, desired_line_number):

if desired_line_number < 1: return ''

for current_line_number, line in enumerate(open(thefilepath, 'rU')):

if current_line_number == desired_line_number - 1 : return line

return ''

python如何将txt文件导入excel

这个以前都做过。用COM接口很麻烦

。现在有了xlwt和xlrd得易。你略略看一看它们的代会了。我好象最近从考勤机里读取EXCEL数据。再重新加工后,生成EXCEL的报告,一个程序,大约5-7小时吧。

python 读取EXCEL文件中的数据格式

下载扩展库

xlrd

读excle

xlwt

excle

直接在上搜就载

下载后

import

xlrd

就可以读excle了

打开文件:

xls

=

xlrd.open_workbook(filename)

选择表:括号内为第几个表

sheet

=

xls.sheets()[0]

获取列:括号内为第几列的数据

col

=

sheet.col_values(0)

获取行:括号内为第几行的数据

row

=

sheet.row_values(0)

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,求教Python中如何导入excel数据

读excel要用到xlrd模块,安装(http://pypi.python.org/pypi/xlrd)。然可以跟面的例子稍微试一下就知么用了。大概的流程是这样的:

1、导入模块

import xlrd

2、打开Excel文件读取数据

data = xlrd.open_workbook('excel.xls')

3、获取一个工作表

① table = data.sheets()[0] #通过索引顺序获取

② table = data.sheet_by_index(0) #通过索引顺序获取

③ table = data.sheet_by_name(u'Sheet1')#通过名称获取

4、获取整行和整列的值(返回数组)

table.row_values(i)

table.col_values(i)

5、获取行数和列数

table.nrows

table.ncols

6、获取单元格

table.cell(0,0).value

table.cell(2,3).value

就我自己使用的时候觉得还是获取cell最有用,这就相当于是给了你一个二维数组,余下你就可以想怎么干就怎么干了。得益于这个十分好用的库代码很是简洁。但是还是有若干坑的存在导致话了一定时间探索。现在列出来供后人参考吧:

1、首先就是我的统计是根据姓名统计各个表中的信息的,但是调试发现不同的表中各个名字貌似不能够匹配,开始怀疑过编码问题,不过后来发现是因为  空格。因为在excel中输入的时候很可能会顺手在一些名字后面加上几个空格或是tab键,这样看起来没什么差别,但是程序处理的时候这就是两个完全  不同的串了。我的解决方法是给每个获取的字符串都加上strip()处理一下。效果良好

2、还是字符串的匹配,在判断某个单元格中的字符串(中文)是否等于我所给出的的时候发现无法匹配,并且各种unicode也不太奏效,过一些解决  方案,但是都比较复杂或是没用。最后我采用了一个比较变通的方式:直接从excel中获取我想要的值再进行比较,效果是不错就是通用行不太好,个  呢不能问题还没解决。

二、写excel表

写excel表要用到xlwt模块,官网下载(http://pypi.python.org/pypi/xlwt)。大致使用流程如下:

1、导入模块

复制代码代码如下:

import xlwt

2、创建workbook(其实就是excel,后来保存一下就行)

复制代码代码如下:

workbook = xlwt.Workbook(encoding = 'ascii')

3、创建表

复制代码代码如下:

worksheet = workbook.add_sheet('My Worksheet')

4、往单元格内写入内容

复制代码代码如下:

worksheet.write(0, 0, label = 'Row 0, Column 0 Value')

5、保存

复制代码代码如下:

workbook.save('Excel_Workbook.xls')

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值