请原谅我,因为我还在学习Python。我试图想出一种方法来构建一个循环,使用来自查找表的多行三个变量。
查找表包含一个编号索引和三个拆分为列的变量。大约有290行,每一行代表一个我的目标循环。
我的python脚本正在工作,但我必须复制/粘贴290个项目的代码。有没有一种方法可以构建一个从查找表中获取三个变量的循环?
查找表示例:
x1c 0d1x的数据
Python脚本:
import pandas as pd
import os, shutil
import numpy as np
# Import Lookup Table
# Can this table be used as a lookup for loop variables myfile, pname, and ename?
DF_LU = 'E:/Python Projects/ParmAudit/LUParm.csv'
# Source and Export Directories
sourcedir = 'E:/Python Projects/ParmAudit/Dump/'
exportdir = 'E:/Python Projects/ParmAudit/Export/'
# cbrs_alarm
# These variables change based on each row from the lookup table
myfile = 'N_1.txt'
pname = 'cbrs_alarm_threshold'
ename = 'cbrs_alarm_threshold.csv'
# Remove 1st row for clean csv file
with open(os.path.join(sourcedir, myfile)) as f:
lines = list(f)
lines.pop(0) # delete 1st row
# Write lines back into file
with open(os.path.join(sourcedir, myfile), "w") as f:
for line in lines:
f.write(line)
#Create dataframe
DF = pd.read_csv(os.path.join(sourcedir, myfile))
#Add column to dataframe
DF['STA_Parm'] = pname
#Set new column as the first column
first_column = DF.pop('STA_Parm')
DF.insert(0, 'STA_Parm', first_column)
#Export DF to CSV
DF.to_csv(os.path.join(exportdir, ename), index=False)
# acdc_profiles
myfile = 'N_3.txt'
pname = 'acdc_profiles'
ename = 'acdc_profiles.csv'
with open(os.path.join(sourcedir, myfile)) as f:
lines = list(f)
lines.pop(0)
# Write lines back into file
with open(os.path.join(sourcedir, myfile), "w") as f:
for line in lines:
f.write(line)
DF = pd.read_csv(os.path.join(sourcedir, myfile))
DF['STA_Parm'] = pname
first_column = DF.pop('STA_Parm')
DF.insert(0, 'STA_Parm', first_column)
#display(DF)
DF.to_csv(os.path.join(exportdir, ename), index=False)
字符串
1条答案
按热度按时间mu0hgdu01#
使用
csv
模块循环浏览CSV文件,分配文件每一列的变量。字符串