如何将Python csv字符串转换为数组?
在Python中,我们经常要处理csv文件或者csv字符串。csv字符串是一系列用逗号隔开的值,因此处理csv字符串的任务实际上就是将字符串转化为数组。在本文中,我们将介绍如何将Python csv字符串转换为数组。
下面是一个示例csv字符串:
1,2,3
4,5,6
7,8,9
首先,我们需要导入Python标准库中的csv模块。csv模块提供了专门用于处理csv文件和字符串的工具类和函数。
import csv
接下来,我们需要将csv字符串转换为Python的二维数组。可以使用csv模块中的reader函数将csv字符串转换成reader对象,然后使用list函数将reader对象转换为列表。示例代码如下:
csv_string = """1,2,3\n4,5,6\n7,8,9"""
reader = csv.reader(csv_string.split('\n'))
csv_list = list(reader)
print(csv_list)
输出结果为:
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['']]
我们注意到,输出结果包含一个空列表。空列表是由于csv字符串结尾多了一个换行符造成的。为了避免这种情况,我们可以在将csv字符串转化为reader对象之前先将csv字符串进行strip操作。
csv_string = """1,2,3\n4,5,6\n7,8,9"""
csv_string = csv_string.strip()
reader = csv.reader(csv_string.split('\n'))
csv_list = list(reader)
print(csv_list)
输出结果为:
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
现在我们成功地将csv字符串转换为了Python二维数组。
更多Python文章,请阅读:Python 教程
结论
使用Python标准库中的csv模块可以很方便地将csv字符串转换为Python数组。使用csv.reader函数可以将csv字符串转化为reader对象,然后使用list函数可以将reader对象转换为Python数组。注意,由于csv字符串结尾可能包含多余的换行符,需要在转换之前进行strip操作。