在python上没那么好,所以我可能犯了一个错误,但是我的SplitAgain只打印了函数之外的第一行。我确实试过了一个forloop,但那也没有用。
print 'List Local Files'
localFile = open('Local.csv','r')
for line in localFile:
splitLine = line.split(",")
splitAgain = splitLine[9].replace('"', '')
# print splitAgain
print 'Collection Files'
CollectionFile = open('Collection.csv', 'r')
for line in CollectionFile:
sLine = line.split(",")
newArray = sLine[4] + sLine[5]
newArray2 = newArray.replace("/XXXX/",'')
print splitAgain
我希望splitAgain打印foorloop之外的所有值,因为我将在第二阶段在SplitAgain和newArray2上运行差异。
但在这个阶段它只给了我第一行。
我确实尝试了列表的迭代,但它给了我一个新行的每个字符。
我试过这个
for i in SplitAgain:
print i;
答案 0 :(得分:0)
据我所知,您正在尝试获取csv文件中列的值并进行打印。这是代码的修改版本。
print 'List Local Files'
VALUES_SEPARATOR = ","
with open('./local.csv','r') as localFile :
lines = []
for line in localFile:
#use line[:-1] to remove the end line "\n" symbol.
splitLine = line[:-1].split(VALUES_SEPARATOR)
splitAgain = splitLine[2].replace('"', '')
lines.append(splitAgain)#store the line in a out-of-the-loop variable.
print(lines)
正如您所看到的,列表用于将结果存储在循环之外,正如@tdelaney在评论中所建议的那样。适用于此文件:
name, owner,"local file names"
foo,bar,"foo the foo"
foofoo,bar,"bar the bar"
它给出了以下结果:
List Local Files
['local file names', 'foo the foo', 'bar the bar']
这是否满足您的需求? 我希望如此;)