鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[办公] 使用Python读写Excel文件(2)

  [复制链接]
发表于 2019-10-21 20:42:10 | 显示全部楼层
import openpyxl

#打开文件

wb = openpyxl.load_workbook('D:/XXX')
ws = wb.get_sheet_by_name('XXXX')

#修改评分列
ws[''] = x1
ws[''] = x2
ws[''] = x3


#保存修改后的文件
wb.save(r'D:/XXXX')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-23 10:05:20 | 显示全部楼层
ws['B2'].value="9.7"
ws['B4'].value="9.6"
ws['B5'].value="9.8"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-23 10:29:09 | 显示全部楼层
为什么我copy这代码,但是运行出错,是什么问题??不理解each_row[1].value = data_updates[each_row[0].value]?为什么不是等于data_updates[each_row[1].value?

下面是出错的界面:
runfile('C:/Users/coco/.spyder-py3/temp.py', wdir='C:/Users/coco/.spyder-py3')
Traceback (most recent call last):

  File "<ipython-input-1-ffe1257465b1>", line 1, in <module>
    runfile('C:/Users/coco/.spyder-py3/temp.py', wdir='C:/Users/coco/.spyder-py3')

  File "D:\Anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
    execfile(filename, namespace)

  File "D:\Anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/coco/.spyder-py3/temp.py", line 26, in <module>
    main()

  File "C:/Users/coco/.spyder-py3/temp.py", line 16, in main
    wb = openpyxl.load_workbook("豆瓣TOP250电影.xlsx")

  File "D:\Anaconda\lib\site-packages\openpyxl\reader\excel.py", line 311, in load_workbook
    data_only, keep_links)

  File "D:\Anaconda\lib\site-packages\openpyxl\reader\excel.py", line 126, in __init__
    self.archive = _validate_archive(fn)

  File "D:\Anaconda\lib\site-packages\openpyxl\reader\excel.py", line 98, in _validate_archive
    archive = ZipFile(filename, 'r')

  File "D:\Anaconda\lib\zipfile.py", line 1204, in __init__
    self.fp = io.open(file, filemode)

FileNotFoundError: [Errno 2] No such file or directory: '豆瓣TOP250电影.xlsx'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-23 16:14:11 | 显示全部楼层
看看怎么样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-27 14:40:55 | 显示全部楼层
看一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-13 19:21:34 | 显示全部楼层
大概明白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-14 20:05:13 | 显示全部楼层
import openpyxl

chang_scoring = dict(阿甘正传 = 9.8,这个杀手不太冷 = 9.6,肖申克的救赎 = 9.7)

wb = openpyxl.load_workbook(r'd://aaa//work file//豆瓣TOP250电影.xlsx')
ws = wb[wb.sheetnames[0]]

count = len(chang_scoring)

for each_columns in ws.rows:
    if count == 0:
        break;
    if each_columns[0].value in chang_scoring:
        ws['B' + str(each_columns[0].row)].value = str(chang_scoring[each_columns[0].value])
        count -= 1
        
wb.save(r'd://aaa//work file//豆瓣TOP250电影.xlsx')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-30 11:10:45 | 显示全部楼层
查看参考代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-8 14:59:55 | 显示全部楼层
老师好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-12 11:16:28 | 显示全部楼层
查看内容!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-15 10:29:57 | 显示全部楼层
看看思路
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-15 17:07:36 | 显示全部楼层
~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-19 11:47:26 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-19 19:12:58 | 显示全部楼层
123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-23 13:51:29 | 显示全部楼层
回复看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-23 15:05:06 | 显示全部楼层
朕想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-23 21:42:55 | 显示全部楼层

肖申克的救赎
霸王别姬
这个杀手不太冷
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-30 12:59:21 | 显示全部楼层
import openpyxl

wb = openpyxl.load_workbook(r"E:\py_code\豆瓣TOP250.xlsx")
ws = wb['Sheet']

#遍历所有的列,当符合条件时,去修改同行的评分栏位为9.8

for each_row in ws.rows:
    if(each_row[1].value=='肖申克的救赎'):
        each_row[3].value='9.8'
        break

wb.save(r"E:\py_code\豆瓣TOP250.xlsx")

这个是我的解法,来看看答案是否有更好的方式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-30 13:00:56 | 显示全部楼层
suishoufang 发表于 2018-4-25 11:47
执行:wb.get_sheet_names()和 ws = wb.get_sheet_by_name('Sheet')时候,
报错提示:
File "__main__",  ...

就是他们比较希望你使用这个方法  wb[sheetname]
把  ws = wb.get_sheet_by_name('Sheet') 换成 ws=wb['Sheet'],就不会跳出提示了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-31 10:33:43 | 显示全部楼层
111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-21 21:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表