簡體   English   中英

從此代碼創建坐標對

[英]Create a coordinate pair from this code

這是我當前的代碼

a_reader = None
a_reader     = open('data.csv', 'rU')
a_csv_reader = csv.reader(a_reader)

for row in a_csv_reader:
       print row
a_reader.close()

count = 0
sum   = 0.0
a_reader     = open('data.csv', 'rU')
a_csv_reader = csv.reader(a_reader)
a_csv_reader.next()

for row in a_csv_reader:
        if count != 0 and row[0] != '':
            sum = sum + float(row[0])
        count = count + 1

a_reader.close()
print 'Number of lines is:',count
print 'Sum is:',sum
return listStation

這將產生以下結果

['1', '476050', '7709929']    
['2', '473971', '7707713']    
['3', '465676', '7691097']    
['4', '515612', '7702192']    
['5', '516655', '7704405']    
['6', '519788', '7713255']    
['7', '538466', '7683341']    
Number of lines is: 8    
Sum is: 28.0

好的,所以我想要的輸出顯示在下面的雙重列表中。

[[476050, 7709929],[473971, 7707713],[465676, 7691097],[515612, 7702192],[516655, 7704405],[519788, 7713255],[538466, 7683341]]

如何更改代碼以將結果生成為雙重列表,如上所示。 是否可以創建一個如上所示的坐標對的雙重列表。 你能幫助我嗎?

任何幫助表示贊賞。

切掉最后兩個元素,然后追加。

>>> ['1', '476050', '7709929'][1:3]
['476050', '7709929']
import csv
import itertools

with open('data.csv') as f:
    reader = csv.reader(f)
    rows = []
    total = 0
    for row in itertools.islice(reader, 1, None): # Skip a header
        if row[0]:
            total += int(row[0])
            rows.append(row[1:])

print 'Number of lines is:', len(rows)
print 'total is', total
print rows

代替:

for row in a_csv_reader:
    print row

使用列表推導對列表進行切片:

for i in [row[-2:] for row in a_csv_reader]:
    print i

哪些打印:

['476050', '7709929']
['473971', '7707713']
['465676', '7691097']
['515612', '7702192']
['516655', '7704405']
['519788', '7713255']
['538466', '7683341']

因此, [row[-2:] for row in a_csv_reader]為:

[['476050', '7709929'], ['473971', '7707713'], ['465676', '7691097'], ['515612', '7702192'], ['516655', '7704405'], ['519788', '7713255'], ['538466', '7683341']]

這是您的預期輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM