Python读取符合一定条件的Excel数据,复制到文本文件中 5C

大神们,求助,求助
Python初学者,尝试利用Python遍历读取Excel中B列的数据,并以其数据对应为文本文件名称,同时,复制Excel中A列的数值到对应的文本文件

2个回答

用openpyxl

这是一个例子:

 import openpyxl
import re

def Exceldivide(file_dir):
 wb=openpyxl.load_workbook(file_dir)         #打开原有的excel表
 sheet=wb.get_sheet_by_name('Sheet1')
 tuple(sheet['A1':'C3'])

 wb.create_sheet('Sheet2')                 #新建一个表
 sheet2=wb.get_sheet_by_name('Sheet2')
 tuple(sheet2['A1':'C3'])

 L1=re.compile(r'\d\d/\d\d/\d\d\d\d')      #日期格式
 L2=re.compile(r'[a-zA-Z0-9_]+@[a-zA-Z0-9-]+.com')   #邮件格式
 l1=[]
 l2=[]
 for rows in sheet['A1':'C3']:           #提取日期和邮件数据
     for cell in rows:
         A=L1.search(cell.value)
         a=A.group()
         B=L2.search(cell.value)
         b=B.group()
 for rows in sheet2['A1':'A9']:         #把日期数据写入新表
    for cell in rows:
        cell.value=a
        print(cell.coordinate,cell.value)
 for rows in sheet2['B1':'B9']:        #把邮件数据写入新表      
    for cell in rows:
        cell.value=b
        print(cell.coordinate,cell.value)
 return wb

g=Exceldivide('C:\\Users\\Desktop\\111_copy.xlsx')
g.save('C:\\Users\\Desktop\\111_copy.xlsx')    #保存

你只要输出修改为txt就好。

不需要库,只需要将文件保存问csv

with open('xxx.csv')as f:
    for line in f.readlines():
        line=line.split(',')
        with open('..//'+line[1]+'.csv') as fi:
            fi.write(line[0])

搞定

qq_42344124
水冗令 对excel的操作,用库的灵活性会更大的。
大约 2 年之前 回复
qq_35731394
qq_35731394 最后输出文件如果是要txt文件可以with open('..//'+line[1]+'.txt','w') as fi: 希望采纳,急需用分
大约 2 年之前 回复
qq_35731394
qq_35731394 后面的写的文件少一个'w',with open('..//'+line[1]+'.csv','w') as fi:
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问