• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

基于Python的一个自动录入表格的小程序

python 搞代码 4年前 (2022-01-09) 10次浏览 已收录 0个评论

## 帮阿雪写的一个小程序
—————————————————————————————————
上大学的时候,总是会由很多表格需要同学们去搞,尤其是刚开学的那个时候,显然是很烦躁,
阿雪刚开学的时候,作为班干部,表示有时候刚录表不是很熟悉经常会弄到很晚,甚至还会弄错,
这就让我很是触动,所以想帮她搞一搞,顺便增强一下我们的友谊/hhhhhh
————————————来4源gaodaimacom搞#代%码*网—————————————————————

思路:

第一步: 信息还是要填的,以往是同学们发给班委,然后慢慢来搞,但现在不一样的,我要求同学们把他们要填的信息写在记事本里面,内容之间用中文逗号隔开,然后在发给我就行。

第二步: 阿雪只要做的事情是把每个小朋友发的txt文本点击下载就行了,这个显然很简单的事情。

第三步: QQ个人接受的文件一般都会在 (FileRecv)这个文件夹内,每个朋友QQ存放的位置不一样我这里就不详细说明了,我自己存放的位置是:(r’D://qq//qq文档//‘我的qq号’/FileRecv//) 我们把这个路径就姑且叫做qq_path吧!这个路径我们需要事先写入代码内,我这里定义的函数是copy_file()内:具体思想对了就行。

第四步: 整个程序没啥操作难度,根据提示填入指令就行,都是批量处理,函数中我设置了时间间隔,我个人感觉这样能让程序有个停顿感,更友好一点吧。

函数库:

  1. os库: 用于创建文件夹,修改路径,确定路径,文件遍历等操作
  2. csv库: 用于表格的录入time库: 用于程序停顿感
  3. pandas库: 用于csv和xlsx格式之间的转换
  4. shutil库: 用于文件的复制

复制函数:把qq接受的文件全部转移到我们指定的位置便于操作

def copy_file(): # 将qq地址下的文本文件转移到文本存放处待用
  qq_path = r'D://qq//qq文档//qq//FileRecv//' # 文本在qq的位置
  for filename in os.listdir(qq_path):
    txt_path = os.path.join(qq_path, filename) # 拼接这二个地址 进行判断
    if txt_path[-4:] == '.txt':
      if txt_path[-5:-4] in [str(i) for i in range(10)]:
        # 取后缀判断 取学号判断 是否是我们需要的txt
        shutil.copy(txt_path, patht) # 进行复制
        os.remove(txt_path) # 删除在qq地址的文件 避免下次录入 文本过多
      elif txt_path[-6:-4] in [str(i) for i in range(10, 66)]: # 班级人数个人设定
        shutil.copy(txt_path, patht) # 进行复制
        os.remove(txt_path) # 删除在qq地址的文件 避免下次录入 文本过多

  return qq_path

信息的录入:遍历文件夹,逐一读入文本,将得到的信息放入列表

def luru():
  # 把文本以学号保存 文本里面信息用中文逗号分隔
  qq_path = copy_file() # 复制文本到patht
  listss = [] # 录入信息列表
  filenamepath = [] # 文件名称地址
  pathtxt = r'D://测试文件//文本存放处//'
  for filename in os.listdir(pathtxt): # 遍历文本存放处所有的文件
    filenamepath.append(os.path.join(pathtxt, filename))
  print("当前目录{}存放着{}个文件:".format(pathtxt, len(filenamepath)))
  if len(filenamepath) == 0:
    print('请确保文件正确存放在{}处:'.format(qq_path))
  for i in range(len(filenamepath)): # 遍历这个列表 获得绝对地址
    with open(filenamepath[i], "r", encoding='utf-8') as fo:
      for j in fo:
        listss.append(j.split(','))

  return listss


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:基于Python的一个自动录入表格的小程序

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址