PyQt自动导入CSV文件提取某个数据循环导入函数参数中
目的
最近有个工具需要实现脱某文件,其主要mian.py模块中的主函数,需要用到三个变量,这个比较好实现,由于三个变量都是不同的文件路径而已,所以用pyqt中的QlineEdit和button就可以实现setText()和text()。
对于我来说的主要难点是:主函数中还有两个变量:起始时间戳。
我把起始时间戳记录以列的形式在CSV文件中,第一列是索引数,由0开始,第二列为开始时间,第三列为结束时间。
过程
我能想到的是csv提取行,再指定几行几列,并把它循环提取,使主函数循环执行。
试验过程
首先用了for循环:
import csv
import pandas as pd
filename = '文件路径'
# 每次open打开文件并用reader读取, 只能对其操作一次!
with open(filename)as csvfile:
#csv.reader(csvfile, dialect='excel', **fmtparams)返回一个 reader 对象,该对象将逐行遍历 csvfile
reader = csv.reader(csvfile)
#逐行读取CSV
rows = [row for row in reader]
obj = pd.read_csv(filename)
Index = obj.index.stop + 1
for ss in range(Index):
print(rows[ss][1])
print(row[ss][2])
发现for循环实现不了我需要的:执行主函数Index次,后来用了while循环:
import csv
import pandas as pd
filename = '文件路径'
# 每次open打开文件并用reader读取, 只能对其操作一次!
with open(filename)as csvfile:
#csv.reader(csvfile, dialect='excel', **fmtparams)返回一个 reader 对象,该对象将逐行遍历 csvfile
reader = csv.reader(csvfile)
#逐行读取CSV
rows = [row for row in reader]
obj = pd.read_csv(filename)
Index = obj.index.stop + 1
i = 0
while i<Index:
#中间是主函数体,循环 Index 次(即循环CSV文件行数 那么多次!)
i = i+1
最后暂且实现了我需要的功能。