簡體   English   中英

Python解析從MySQL導出的CSV

[英]Python parsing csv exported from mysql

我想要一些有關我遇到的問題的幫助。 我需要解析從mysql導出的數據集,並且該格式以逗號分隔的.csv格式,具有以下格式的9行數據:

             Date, Data, Data, Data, Numbers, Names, Data, Data, Data

對不起,如果我不確定,因為我無法透露行的確切內容

我需要解析第6行的數據,並檢查用戶是否輸入了有效的條目並將其與CSV文件進行比較,我需要對第5行的數據求和

    import csv
    gt_users = raw_input("Enter user you want to search for: ")

    opn_file = open("[REDACTED FILE NAME]", "r")
    read_csv = csv.reader(csvfile, delimiter=',')

for row in read_csv:
    Name = row[5]
    Number = row[4]
    Names.append(Name)
    Numbers.append(Number)

而且我不確定從這里開始要尋找答案,但是它們都不起作用,但是我確定我做錯了什么。 提前致謝。

我猜你想做這樣的事情:

import csv

data = []

with open('input.csv') as f_input:
    for row in csv.reader(f_input):
        data.append((row[5], float(row[4])))

gt_user = raw_input("Enter user you want to search for: ")
total = 0

for name, number in data:
    if gt_user == name:
        print "Found {}, number is {}".format(name, number)
        total += number

print "Total for {} is {}".format(gt_user, total)

與其為列創建兩個單獨的值列表,不如使用元組將它們存儲在一起。 通過這樣做,您可以輕松地將它們成對閱讀。

另外,通過首先讀取csv文件,您可以添加while循環以繼續提示用戶輸入,而不必每次都重新讀取文件。

有多種方法可以使此方法運行得更快,但對於較小的文本文件,此線性方法就足夠了。

使用with Python中打開文件時。 這樣可以確保文件在使用后自動關閉。

要計算所有匹配數字的total ,只需添加一個total變量,然后為每個匹配項將其遞增,並在末尾顯示該值即可。 確保將row[4]中的數字首先轉換為整數,然后再存儲在data

暫無
暫無

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

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