wqx285314590 发表于 2020-3-14 12:55:46

派生小生 发表于 2020-3-14 00:52
如果是想要x,y的数据一起的话就是这样

优秀!本来是想分别得到X/Y的表达式再自己合并,同时输出X,Y,没想到你直接做了。看了以后发现以我能力可能确实写不出来还是要请教你,多谢!!!另外,方便留一下微信或支付宝账号吗?

派生小生 发表于 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

派生小生 发表于 2020-3-14 17:30:44

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

因为if else只会执行一次,循环靠的是while

派生小生 发表于 2020-3-14 17:31:43

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

可以加微信:wx569673855
互相交流交流就好了{:10_279:}

wqx285314590 发表于 2020-3-15 12:36:19

派生小生 发表于 2020-3-14 17:30
while count

多谢指点,把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

wqx285314590 发表于 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
      

派生小生 发表于 2020-3-22 15:59:54

import xlwt
import xlrd

def data_output(a,x_gap,y,y_gap,column1,column2,row1,row2,sheet1):
    j=0
    x=a-x_gap
    b=a+x_gap/2
    global index,lineNum
   
    print("第%d组数据写入中..." % index)
    while j<row1+row2:
      if x==a-x_gap:
            for i in range(column1):
                x+=x_gap
                #print("数据写入中:%d %.1f %.1f" %(index,x,y))
                list_temp =
                lineNum += 1
                for k in range(1,4):
                  sheet1.write(lineNum,k-1,list_temp)
            x=b-x_gap
            y+=y_gap
            j+=1
      else:
            for i in range(column2):
                x+=x_gap
                #print("数据写入中:%d %.1f %.1f" %(index,x,y))
                list_temp =
                lineNum += 1
                for k in range(1,4):
                  sheet1.write(lineNum,k-1,list_temp)
            x=a-x_gap
            y+=y_gap
            j+=1
    index += 1


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

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

    for num in range(1,rowsNum):                   # 数据从第二行开始,读取每一行的内容
      rows=sheet.row_values(num)
      a,x_gap,y,y_gap,column1,column2,row1,row2 = rows,rows,rows,rows,int(rows),int(rows),int(rows),int(rows)
      data_output(a,x_gap,y,y_gap,column1,column2,row1,row2,sheet1)

    f_wk.save(file_name) #保存文件

    print("数据保存成功,保存名字为【%s】" % file_name)
    input("点击回车键退出。")
   
页: 1 [2]
查看完整版本: 有偿请教大佬,如何利用python处理excel,有偿请教!