這幾天一直在寫爬蟲的代碼,需要將爬取的數據保存到csv文件中,總結一下讀寫csv文件的幾種方法
1.利用Python I/O讀取文件
def read_csv2(file_name): final_list = list() try: f = open(file_name, 'r') reader = csv.reader(f) for row in reader: final_list.append(row) return final_list except IOError: return final_list
try,except是捕獲在文件不存在時讀取文件拋出錯誤
2.利用pandas讀取
csvfile = open(file_name, 'r') df = pd.read_csv(csvfile_tweets,encoding = "utf-8",header=None) df = tweets_df.fillna("") #NaN填充為"" final_list= np.array(tweets_df).tolist()
這里有一點需要注意,利用pandas的方法讀取,如果每行的列數不一樣會出現下面兩種情況:
第一行的列數小於后面行的列數,會報錯
第一行的列數大於后面行的列數,最后返回的list中后面行會出現空值
a. 利用pandas寫入csv:
with open("test.csv","w") as csvfile: writer = csv.writer(csvfile) #先寫入columns_name writer.writerow(["index","csv_1","csv_2"]) #寫入多行用writerows writer.writerows([[0,1,3],[1,2,3],[2,3,4]])
