请问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')