Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python自动化excel_Python_Excel - Fatal编程技术网

如何使用python自动化excel

如何使用python自动化excel,python,excel,Python,Excel,如何使用python自动用段下的行数替换每个段?此代码将用其下的行数替换所有出现的单词“段”,直到出现新的“段” 您需要使用pip安装openpyxlpip包安装openpyxl 从openpyxl导入加载\u工作簿 工作簿=加载工作簿(filename=“yourFile.xlsx”) 工作表=工作簿。活动 text=“” #工作表中行的迭代器 i=0 对于图纸中的x: i+=1 #附加到文本 text+=str(工作表[f“A{i}”].value)+“\n” #迭代器 i=-1 #段索引


如何使用python自动用段下的行数替换每个段?

此代码将用其下的行数替换所有出现的单词“段”,直到出现新的“段”

您需要使用
pip安装openpyxl
pip包安装
openpyxl

从openpyxl导入加载\u工作簿
工作簿=加载工作簿(filename=“yourFile.xlsx”)
工作表=工作簿。活动
text=“”
#工作表中行的迭代器
i=0
对于图纸中的x:
i+=1
#附加到文本
text+=str(工作表[f“A{i}”].value)+“\n”
#迭代器
i=-1
#段索引
j=1
#段的最后索引
k=0
#将替换所有线段的所有值
newVars=[]
对于文本中的x。拆分(“段”):
#增加迭代器
i+=1
#附加变量的长度减2(前后的段)
newVars.append(len(text.split(“段”)[i].split(“\n”))-2)
#删除第一项(-1)
德尔纽瓦尔斯[0]
#行迭代器
i=0
#分段迭代器
j=0
对于图纸中的x:
i+=1
如果工作表[f“A{i}”]。值==“段”:
#将值替换为!{lenOfRows}
表[f“A{i}]”。值=“!”+str(newVars[j])
#增加段的迭代器
j+=1
#保存文件
workbook.save(filename=“yourFile.xlsx”)
#只是一张照片
打印(“所有内容都被替换”)
这段代码可以改进,但应该可以工作

注意:所有内容都必须在Excel文件的
A
列中


当然,您需要将文件名替换为您的文件名

如果您可以将Excel文档保存为.csv格式,您可以这样做,只需使用python的文件i/o

这个答案说明了你的问题只有一列。对于多列,使用python csv库或openpyxl可能更容易

注 代码假定输入文件名为segments.csv,并将其保存到名为output.csv的新文件中

output=[]
段=“段”
打开(“segments.csv”和“r”)作为文件:
lines=file.read().split()
计数=0
段索引=-1
#用段计数填充输出
对于i,枚举中的行(行):
如果直线=线段:
如果段_索引!=-1:
输出[段索引]=str(计数)
计数=0
段索引=i
其他:
计数+=1
output.append(行)
#最后一部分的会计科目
如果段_索引!=-1:
输出[段索引]=str(计数)
#将输出内容写入新文件
打开(“output.csv”和“w”)作为文件:
file.write('\n'.join(输出))

欢迎来到SO。请务必查看发布问题的指导原则。一般来说,您不应该发布数据的图像,因为这会使任何人很难再现错误或引导您找到解决方案。此外,还需要将您自己的尝试发布到解决方案,即使它失败了。