[英]How to create list using first row of CSV file in python
我正在嘗試使用python在csv文件的第一行-列標題中創建一個列表。 我整理了這個小腳本,但它打印了兩個不同的列表。 打印的第一項是csv的第一行,第二項打印在第二行。
我究竟做錯了什么?
import csv
import sys
with open('agentsFullOutput.csv') as csvFile:
reader = csv.reader(csvFile)
print csvFile.next()
field_names_list = []
field_names_list = csvFile.next()
print field_names_list
每次調用.next()
它將移至文件的下一行。 因此,您只會在第一個.next()
調用中獲得CSV文件的標題:
import csv
with open('agentsFullOutput.csv') as csvFile:
reader = csv.reader(csvFile)
field_names_list = reader.next()
任何后續的.next()
調用都將讀取文件中的下一行,因此將是一行數據。
每次調用next()
,都會yielded
文件的下一行,直到到達文件末尾。
在您的代碼示例中,由於您兩次調用next()
,並且在第二次調用中將其分配給field_name_list
,所以它將分配第二行,而不是第一行。
下面將第一行分配給變量field_names_list
。
with open('agentsFullOutput.csv') as csvFile:
reader = csv.reader(csvFile)
field_names_list = next(reader)
使用next(reader)
而不是reader.next()
意味着代碼可移植到reader.next()
。在3+系列中,為了保持一致性,迭代器的next()方法已重命名為__next__()
。
您可以使用Pandas庫從龐大的數據集中讀取前幾行。
import pandas as pd
data = pd.read_csv("names.csv", nrows=1)
您可以在nrows參數中提及要讀取的行數。
with open(__csvfile) as csvFile:
reader = csv.DictReader(csvFile)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.