打开时,csv文件的内容如下:
>
>如上所述,逗号定界符,、,用来将文件中的每个特定数据分开。
>>第一行数据可以选择用作标题,并识别其下面的每一列数据。 CSV文件通常用.CSV文件扩展名保存。
Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team 1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing 2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,, 3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance 4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,Finance
>可以将电子表格和数据库(如MS SQL)导入并导出为CSV文件,因此重要的是要知道如何以编程方式处理CSV格式的数据。大多数编程语言(如Python)支持CSV中的处理文件,并将其转换为JSON等其他格式。
Python提供了用于读取,编写和执行其他形式的文件处理的模块,以CSV格式读取和执行其他形式的文件。内置库提供的功能和类,使使用CSV文件无缝。
>> csv 模块具有用于读取CSV文件的csv.reader()函数。它与对象(包括文件对象)一起使用,例如使用Python的In-In-op-Open()函数生成的对象。
>从呼叫打开()中给定的文件对象,csv.reader()将返回读取器对象。读取器对象可以用来迭代CSV数据的每一行,其中行返回作为字符串列表。
让我们以一个例子:
Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team 1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing 2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,, 3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance 4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,Finance
>在第一个代码段中,打开了员工。csv文件,然后csv.reader()函数解析并返回读取器对象。一个简单的循环用于迭代读取器对象,该对象从employ.csv文件中返回每行数据列表,从顶部开始。
<span>import csv </span> <span>with open('employees.csv', newline='') as file_obj: </span> reader_obj <span>= csv.reader(file_obj) </span> <span>for row in reader_obj: </span> <span>print(row) </span>
如何使用Python
写入CSV文件>上面的代码段中使用的所有列表对象都可以分组为2D列表,并将其作为参数传递给Writerows()作者对象的writer()方法以实现相同的结果。
执行使用语句后,在包含这些逗号分隔的当前工作目录中创建了一个CSV文件(products.csv)。这是一个示例:
这是上述代码的输出:
如何使用python
<span>['Employee Id', 'First Name', 'Gender', 'Start Date', 'Last Login Time', 'Salary', 'Bonus %', 'Senior Management', 'Team'] </span><span>['1', 'Douglas', 'Male', '8/6/1993', '12:42 PM', '', '6.945', 'TRUE', 'Marketing'] </span><span>['2', 'Thomas', 'Male', '3/31/1996', '6:53 AM', '61933', '4.17', '', ''] </span><span>['3', 'Maria', 'Female', '4/23/1993', '11:17 AM', '', '11.858', 'FALSE', 'Finance'] </span><span>['4', 'Jerry', 'Male', '3/4/2005', '1:00 PM', '138705', '9.34', '', 'Finance'] </span><span>['5', 'Larry', 'Male', '1/24/1998', '4:47 PM', '101004', '1.389', 'TRUE', 'Client Services'] </span><span>... </span>
csv
模块提供了csv.dictreader类,以帮助我们实现这一目标。<span>import csv </span> <span>with open('products.csv', 'w', newline='') as file_obj: </span> writer_obj <span>= csv.writer(file_obj) </span> writer_obj<span>.writerow(['Product Name', 'Price', 'Quantity', 'SKU Number' ]) </span> writer_obj<span>.writerow(['Rice', 80, 35, 'RI59023']) </span> writer_obj<span>.writerow(['Curry', 2, 200, 'CY13890']) </span> writer_obj<span>.writerow(['Milk', 9.5, 315, 'MK10204']) </span>
模块的json.dump()函数之前将给定的CSV文件转换为Python字典,以将结果Python字典转换为JSON文件。 csv.dictreader()类采用可选的字段名称参数。省略字段名称的地方,第一行的值将映射到其余数据为字段名称。 让我们来看看一个示例:
这是上述代码的输出:
jsonpython模块。 json模块的json.load()函数将有助于将json文件转换为python词典,而csvcsv 模块的csv.dictwiter类方法将有助于将python字典转换为csv file。 这是一个示例:
>要将JSON文件转换为CSV等效,我们应用了以下步骤:
Employee Id,First Name,Gender,Start Date,Last Login Time,Salary,Bonus %,Senior Management,Team 1,Douglas,Male,8/6/1993,12:42 PM,,6.945,TRUE,Marketing 2,Thomas,Male,3/31/1996,6:53 AM,61933,4.17,, 3,Maria,Female,4/23/1993,11:17 AM,,11.858,FALSE,Finance 4,Jerry,Male,3/4/2005,1:00 PM,138705,9.34,,Finance
在读取模式下打开员工。
>使用JSON.LOAD()函数创建Python字典py_dict>也必须注意,我们可能需要将文件从一种格式转换为另一种格式(CSV至JSON),如上所述。
经常询问有关Python CSV文件的问题(常见问题解答)>如何处理python中的大型CSV文件?但是,Python的内置CSV模块提供了一种在较小的块中读取和编写CSV文件的方法,从而使使用大型文件可以使用。您可以在循环中使用读取器对象一次读取特定数量的行。这样,您可以在较小,更易于管理的块中处理一个大文件。
>如何在Python中写入CSV文件?如何使用Python中的标头(
>如何使用Python中的引用字段来处理CSV文件?>
>如果您的CSV文件包含特殊字符,则可以通过以二进制模式打开文件并使用Unicodecsv模块而不是内置CSV模块来处理它们。该模块就像CSV模块一样工作,但它支持Unicode字符。
如何通过Python中的特定列对CSV文件进行分类? >
>您可以使用Python中的Pandas库通过特定列对CSV文件进行排序。在将CSV文件读取到数据框中后,您可以使用sort_values方法按一个或多个列对数据框进行排序。>您可以使用Python中的PANDAS库中的条件过滤CSV文件中的行。将CSV文件读取到数据框中后,您可以使用布尔索引根据条件过滤数据框。
以上是使用Python使用CSV文件,并示例的详细内容。更多信息请关注PHP中文网其他相关文章!