从本地存储中读取和操作xlsx文件,并将单元格中的一些值提取到.txt和.csv文件中



读取excel文件并使用openpyxl将详细信息提取到一个新的.txt文件中

我是openpyxl的新手,昨天刚开始。我需要从本地存储的excel文件中提取数据,该excel文件有500多行和50多列。我想将一些特定的单元格、列或行提取到.txt和.csv文件中

我找不到错误在哪里该在这个代码中添加什么

from openpyxl import *
import os    
path = 'F:\mis'
files = [i for i in os.listdir(path) if i.endswith('.xlsx')]
for f in files:
wb = load_workbook(os.path.join(path, f))
for row in wb['newxl.xlsx'].rows:
with open(row[2].value+'.txt', 'w') as outfile:
outfile.write(row[0].value)```

更新答案

import openpyxl
import csv

roster = openpyxl.load_workbook('roster.xlsx')
sheet = roster.active
col = csv.writer(open("new_roster.csv",'w',newline=""))
st_id = int(input("Enter student ID: "))
for row in sheet.rows:
if row[0].value == st_id:
col.writerow([cell.value for cell in row])
print("File created!")

更新2

这就是如何从特定列中获取值:

import openpyxl
roster = openpyxl.load_workbook('roster.xlsx')  
sheet = roster.active
col = sheet['B']  
for x in range(len(col)): 
print(col[x].value) 

更新3

从列返回特定值:

import openpyxl
roster = openpyxl.load_workbook('roster.xlsx')  
sheet = roster.active
col = sheet['B']  # <-- change the column according to your file
val = input("Enter value: ")
for c in range(len(col)): 
if val == col[c].value:
print(f'Found {col[c].value}!')
import pandas as pd
df=pd.read_excel("F:\mis\CASHE.xlsx")
cus_id=input("Please enter your customer id:")
cashe=['customer_id', 'customer_name', 'login_email_id', 'login_source', 'New_date', 'customer_status_name']
if cus_id == '':
df1=df[cashe]
else:
df1=df[cashe].loc[df['customer_id']==int(cus_id)]
df1.to_csv('Cashe1.csv')
print("csv printed with values")

最新更新