根据csv中的列是否包含d组成文本字符串

2024-04-26 05:46:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv,它包含一个大的数据集,现在我需要能够做的是根据列是否包含数据来编写text字符串。例如,如果第30列包含数据,则编写一个文本字符串:“text data text(row[30])texy data text(row[12])text data text”并附加到新文件。你知道吗

X,classA,uniqueclassindicator1,x,x,1,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classA,uniqueclassindicator1,x,x,3,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classB,uniqueclassindicator2,x,x,1,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,7/9,2.05,£12.02
X,classB,uniqueclassindicator2,x,x,2,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classB,uniqueclassindicator2,x,x,3,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classB,uniqueclassindicator2,x,x,4,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classA,uniqueclassindicator3,x,x,1,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classA,uniqueclassindicator3,x,x,2,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classA,uniqueclassindicator3,x,x,3,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classA,uniqueclassindicator3,x,x,4,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classC,uniqueclassindicator4,x,x,1,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classC,uniqueclassindicator4,x,x,2,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classC,uniqueclassindicator4,x,x,3,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classC,uniqueclassindicator4,x,x,4,x,x,x,x,125,30.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classC,uniqueclassindicator4,x,x,5,x,x,x,x,125,31.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classC,uniqueclassindicator4,x,x,6,x,x,x,x,125,2130.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classA,uniqueclassindicator5,x,x,1,x,x,x,x,125,35.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,95/100,,£15.06
X,classA,uniqueclassindicator5,x,x,2,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classA,uniqueclassindicator5,x,x,3,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classA,uniqueclassindicator5,x,x,4,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classA,uniqueclassindicator5,x,x,5,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,
X,classA,uniqueclassindicator5,x,x,6,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,

作为同一脚本的一部分,我需要能够对第31列和第32列执行相同的操作。你知道吗

例如,仅列30的输出文件将读取:

Text data text 7/9 texy data text 21.8 text data text
Text data text 95/100 texy data text 21.8 text data text

在此方面的任何帮助都将不胜感激。你知道吗

亲切的问候


Tags: 文件数据字符串textdatarowclassbclassa
2条回答

假设您有一个字符串列表,每行一项。你知道吗

a = ['X,classA,uniqueclassindicator1,x,x,1,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,',
     'X,classA,uniqueclassindicator1,x,x,3,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,,,',
     'X,classB,uniqueclassindicator2,x,x,1,x,x,x,x,125,21.8,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,7/9,2.05,\xc2\xa312.02',
     .....
    ]
for item in a:
    item = item.split(',')
    if item[29]:
        print ('Text data text %s texy data text %s text data text' % (item[29], item[11]))

尝试此操作,与上面的非常类似,但会打开一个csv文件:

代码:

import csv

with open(test.csv', 'rb') as mycsv:

    for item in mycsv:
        item = item.split(',')
        if item[29]:
            print ("Data text data %s" % (item[29])

希望有帮助:)

相关问题 更多 >