使用python单个输入csv文件

一直在寻找答案,似乎是一个非常简单的问题,但无法找到它,并希望有人可以提供帮助。

我试图使用python比较csv文件的一行中的字段与主代码列表,并将其添加到它显示的时间的记录中。 比如在excel中使用countif()和vlookup()函数。

这个想法是,当相关文件到达我的目录时,我可以运行这个脚本,而不必打开excel并手动完成工作。

麻烦的是,我似乎无法“自行”提取字段以使用if语句等。

下面的代码突出了我一直在尝试采取的方向。

首先我尝试了CSV模块。 它成功地从文件中检索一行 - 但后来我无法使用“.split(”,“)[n]方法跳出特定字段,因为它返回的是单个字母,而不是整个字段(我不知道为什么)。

即使我可以返回该字段,但在CSV的某些数据字段中也会有逗号,所以这种方法没有固定的字段编号可能会导致问题。 (我试图通过将它转换为纯文本格式的.txt文件,但它不工作)

接下来我尝试了熊猫,但我无法设法将行取出,只将列作为一个整体,因此第二个打印语句(而不是第2行)打印出整个数据集的第二个实例

我真正想要的是能够将第5行第4列作为适当的字符串/数字。

任何帮助不胜感激

os.system('clear')
identifier = []
data_line1 = []
data_line2=[]
data = []
io = []

path = '/home/data'
newest = max(glob.iglob('/home/data/*.csv'), key=os.path.getmtime) #assigns the name of the newest file in the dir to newest.

for i in range(0,5):
    with open(newest, 'rtU') as file:
        line1 = list(file)[i]
        data_line1.append(line1)

        line2 = pandas.read_csv(newest,sep=",", usecols=(4,5,16),header=1)
        data_line2.append(line2)

print "###################################################################################################"
print  data_line1[4]

print "###################################################################################################"
print data_line2[1]

一个样本数据集是(在这个抱歉的所有行是相同的,不能使用真实的数据,因为它不是我的):

31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout
31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout
31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout
31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout
31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout
31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout
31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout
31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout
31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout
31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout

以及上述脚本的输出显示行(对于方法1)或对应于列表编号(对于方法2)的数据组实例:

###################################################################################################
31/07/14 17:44,Standard P,727013,,,1002821,some info in here,a thing here,35,4.93,172.55,0,another thing here,some stuff here,a place here,"surname,  name",0000-6677-009899-09,572011,knockout

###################################################################################################
   Unnamed: 4  1002821  0000-6677-009899-09
0         NaN  1002821  0000-6677-009899-09
1         NaN  1002821  0000-6677-009899-09
2         NaN  1002821  0000-6677-009899-09
3         NaN  1002821  0000-6677-009899-09
4         NaN  1002821  0000-6677-009899-09
5         NaN  1002821  0000-6677-009899-09
6         NaN  1002821  0000-6677-009899-09
7         NaN  1002821  0000-6677-009899-09

我非常渴望得到一个解谜游戏的方式。

真正有问题的文件有一堆条目,所以如果有人能指出我在做什么错误的方向,那将是非常棒的:)

PS新手到Python和做这样的事情来帮助我学习,所以如果答案真的很简单,道歉.....

链接地址: http://www.djcxy.com/p/55093.html

上一篇: single entry of csv file using python

下一篇: python csv copy column