本文将从以下几个方面详细阐述python数据导入和导出的方法以及技巧。
一、CSV文件的导入和导出
1、CSV文件的导入
在python中,使用csv模块可以方便地读取CSV文件中的数据。
import csv with open('example.csv', newline='') as csvfile: reader = csv.reader(csvfile, delimiter=',', quotechar='"') for row in reader: print(row)
上面的例子中,我们使用了csv模块中的reader方法,其中newline参数需要设置为空字符串,delimiter参数用于设置分隔符,quotechar参数用于设置数据中的引号。通过使用for循环可以逐行读取CSV文件中的数据。
2、CSV文件的导出
在python中写入CSV文件的方式和读取CSV文件的方式类似,同样使用csv模块提供的writer方法。
import csv with open('example.csv', 'w', newline='') as csvfile: writer = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) writer.writerow(['First Name', 'Last Name', 'Age']) writer.writerow(['John', 'Doe', 35]) writer.writerow(['Jane', 'Doe', 28])
同样的,我们需要设置好分隔符、引号等参数,使用writerow方法逐行写入数据。
二、JSON文件的导入和导出
1、JSON文件的导入
在python中,使用json模块可以方便地读取JSON格式的数据。
import json with open('example.json') as json_file: data = json.load(json_file) for p in data['people']: print('Name: ' + p['name']) print('Age: ' + str(p['age']))
上面的例子中,我们使用了json模块中的load方法,将JSON格式的文件数据读入data变量中,并使用for循环逐行打印出数据。需要注意的是,由于json.load方法返回的是一个字典类型的变量,因此我们可以使用各种字典类型的操作,如上例中使用了data['people']。
2、JSON文件的导出
在python中写入JSON格式文件同样使用json模块,使用json.dump方法将数据写入JSON文件中。
import json data = { 'people': [ { 'name': 'John', 'age': 35 }, { 'name': 'Jane', 'age': 28 } ] } with open('example.json', 'w') as outfile: json.dump(data, outfile)
上例中我们首先定义了一个字典类型的数据,然后使用json.dump方法将数据写入JSON文件中。
三、Excel文件的导入和导出
1、Excel文件的导入
在python中,使用pandas库可以方便地读取Excel文件中的数据。
import pandas as pd df = pd.read_excel('example.xlsx', 'Sheet1', index_col=None, na_values=['NA']) print(df)
上例中我们使用pandas库中的read_excel方法读取Excel文件中的数据,并打印出来。其中第二个参数为sheet的名称,index_col用于设置索引列的名称,na_values用于设置缺失数据的情况。
2、Excel文件的导出
在python中写入Excel文件同样使用pandas库中的to_excel方法来实现。
import pandas as pd df = pd.DataFrame({'First Name': ['John', 'Jane'], 'Last Name': ['Doe', 'Doe'], 'Age': [35, 28]}) writer = pd.ExcelWriter('example.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1', index=False) writer.save()
上例中,我们首先定义了一个DataFrame类型的数据,然后使用ExcelWriter方法来创建写入文件的对象。将DataFrame数据写入文件时可以使用to_excel方法,其中sheet_name参数用于设置Excel中sheet的名称,index参数用于设置是否写入索引列。