为什么在调用total_list函数read_csv()后cdc_list得到更新?

问题描述:

#程序将数据从2 csv文件
的cdc_list被read_csv为什么在调用total_list函数read_csv()后cdc_list得到更新?

overall_list = [] 
def read_csv(filename): 

    file_read = open(filename,"r").read() 
    file_split = file_read.split("\n") 
    string_list = file_split[1:len(file_split)] 
    #final_list = [] 
    for item in string_list: 
     int_fields = [] 
     string_fields = item.split(",") 
     string_fields = [int(x) for x in string_fields] 
     int_fields.append(string_fields) 
     #final_list.append() 
     overall_list.append(int_fields) 
    return(overall_list) 

cdc_list = read_csv("US_births_1994-2003_CDC_NCHS.csv") 
print(len(cdc_list)) #3652 

total_list = read_csv("US_births_2000-2014_SSA.csv") 
print(len(total_list)) #9131 
print(len(cdc_list)) #9131 
+0

不知道,但你为什么不使用内置的CSV库(https://docs.python.org/3/library/csv.html),或什么更好的像用于数据操作的Pandas(http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html)? – TLousky

+0

我刚刚开始使用DataQuest的python,并陷入了这段代码。 反正...感谢您的建议。 –

我不认为你粘贴的代码说明你有这个问题的第二个电话后更新结合起来,至少它不是我能确定的任何地方。好像上面粘贴的代码中没有包含很多代码,这可能是负责任的。

但是,如果你想要做的是合并两个的CSV(假设它们都具有相同的列),你可以使用Pandasread_csv和熊猫数据帧的方法appendto_csv,用3行代码实现这一点(不包括进口):

import pandas as pd 

# Read CSV file into a Pandas DataFrame object 
df = pd.read_csv("first.csv") 

# Read and append the 2nd CSV file to the same DataFrame object 
df = df.append(pd.read_csv("second.csv")) 

# Write merged DataFrame object (with both CSV's data) to file 
df.to_csv("merged.csv") 
+0

感谢您的帮助。 –