鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: wqx285314590

[已解决]有偿请教大佬,如何利用python处理excel,有偿请教!

[复制链接]
 楼主| 发表于 2020-3-14 12:55:46 | 显示全部楼层
派生小生 发表于 2020-3-14 00:52
如果是想要x,y的数据一起的话就是这样

优秀!本来是想分别得到X/Y的表达式再自己合并,同时输出X,Y,没想到你直接做了。看了以后发现以我能力可能确实写不出来还是要请教你,多谢!!!另外,方便留一下微信或支付宝账号吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 17:30:05 | 显示全部楼层
wqx285314590 发表于 2020-3-14 12:23
感谢您的回复!还有一点不明白:
单独对比我用的
while count

while count<10:
        count+=1
        print(y)

for i in range(10):
        print(y)

都是打印10次y,但是用你的方法,如果你想第二次打印10次y的话,你要对count重新赋值为0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 17:30:44 | 显示全部楼层
wqx285314590 发表于 2020-3-14 12:43
还有一个问题:
您的代码是通过if else进行x==0或x==3的切换,但是单独把相关的几行拎出来就只有一个输 ...

因为if else只会执行一次,循环靠的是while
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 17:31:43 | 显示全部楼层
wqx285314590 发表于 2020-3-14 12:55
优秀!本来是想分别得到X/Y的表达式再自己合并,同时输出X,Y,没想到你直接做了。看了以后发现以我能力可 ...

可以加微信:wx569673855
互相交流交流就好了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-15 12:36:19 | 显示全部楼层

多谢指点,把count重新赋值后跑通了,不过没有你的方法简介。
y=0
count=10
t=4
while t>0:
    if count==10:
        while count>0:
            count-=1
            print(y)
        y+=2
        t-=1
        count=10
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 21:16:04 | 显示全部楼层
派生小生 发表于 2020-3-14 00:52
如果是想要x,y的数据一起的话就是这样

额,抱歉还想继续请教一下,python怎么读取excel,输出excel?比如还是上次的代码稍微改动,所有的input的内容都对应在excel中,有20组,希望能够自动读取相应位置的值,输出X,Y。不然手动分别输入这些数据,重复20次,得到的结果再粘贴20次,很浪费时间,谢谢!
a=float(input('x:'))
x_gap=float(input('x gap:'))

y=float(input('y:'))
y_gap=float(input('y gap:'))

j=0
column1=int(input('列数1:'))
column2=int(input('列数2:'))

row1=int(input('行数1:'))
row2=int(input('行数2:'))

x=a-x_gap
b=a+x_gap/2

while j<row1+row2:
    if x==a-x_gap:
        for i in range(column1):
            x+=x_gap
            print(x,y)
        x=b-x_gap
        y+=y_gap
        j+=1
    else:
        for i in range(column2):
            x+=x_gap
            print(x,y)
        x=a-x_gap
        y+=y_gap
        j+=1
        
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-22 15:59:54 | 显示全部楼层
  1. import xlwt
  2. import xlrd

  3. def data_output(a,x_gap,y,y_gap,column1,column2,row1,row2,sheet1):
  4.     j=0
  5.     x=a-x_gap
  6.     b=a+x_gap/2
  7.     global index,lineNum
  8.    
  9.     print("第%d组数据写入中..." % index)
  10.     while j<row1+row2:
  11.         if x==a-x_gap:
  12.             for i in range(column1):
  13.                 x+=x_gap
  14.                 #print("数据写入中:%d %.1f %.1f" %(index,x,y))
  15.                 list_temp = [0,index,x,y]
  16.                 lineNum += 1
  17.                 for k in range(1,4):
  18.                     sheet1.write(lineNum,k-1,list_temp[k])
  19.             x=b-x_gap
  20.             y+=y_gap
  21.             j+=1
  22.         else:
  23.             for i in range(column2):
  24.                 x+=x_gap
  25.                 #print("数据写入中:%d %.1f %.1f" %(index,x,y))
  26.                 list_temp = [0,index,x,y]
  27.                 lineNum += 1
  28.                 for k in range(1,4):
  29.                     sheet1.write(lineNum,k-1,list_temp[k])
  30.             x=a-x_gap
  31.             y+=y_gap
  32.             j+=1
  33.     index += 1


  34. if __name__ == "__main__":
  35.     try:
  36.         #print("PS:输入的文件名需要加上对应的文件后缀,.xls或者.xlsx")
  37.         address_temp = input("请输入文件的地址:")      
  38.         address = address_temp + ".xls"
  39.         file_name = input("文件名保存为:") + ".xls"
  40.         ExcelFile=xlrd.open_workbook(address)
  41.     except FileNotFoundError as e:
  42.         address = address_temp + ".xlsx"
  43.         ExcelFile=xlrd.open_workbook(address)
  44.     sheet=ExcelFile.sheet_by_index(0)
  45.     rowsNum = sheet.nrows
  46.     index = 1
  47.     lineNum = 0

  48.     f_wk = xlwt.Workbook() #创建工作簿
  49.     sheet1 = f_wk.add_sheet('sheet1',cell_overwrite_ok=True) #创建sheet
  50.     sheet1.write(0,0,"序号")
  51.     sheet1.write(0,1,"x")
  52.     sheet1.write(0,2,"y")

  53.     for num in range(1,rowsNum):                   # 数据从第二行开始,读取每一行的内容
  54.         rows=sheet.row_values(num)
  55.         a,x_gap,y,y_gap,column1,column2,row1,row2 = rows[1],rows[2],rows[3],rows[4],int(rows[5]),int(rows[6]),int(rows[7]),int(rows[8])
  56.         data_output(a,x_gap,y,y_gap,column1,column2,row1,row2,sheet1)

  57.     f_wk.save(file_name) #保存文件

  58.     print("数据保存成功,保存名字为【%s】" % file_name)
  59.     input("点击回车键退出。")
  60.    
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-13 12:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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