2024-05-23 17:52:15 发布
网友
我有一个csv文件,有两行和多行
import csv with open('data.csv', 'r') as csv_file: csv_reader = csv.reader(csv_file) next(csv_reader) for row in csv_reader: print(row[0])
输出为:
row0line0 row0line1 row0line2 ...
是否有一种方法可以进一步将行分隔为单个单元格的列表? 谢谢
据我所知,您的csv文件如下所示:
row0line0 row1line1 ...
如果可能的话,我应该重新通信并将其更改为:
row0 line0 row1 line1 ...
(在行和行之间添加空格)
然后,您可以将代码更新为下面的代码行,以仅打印行并创建两个列表-一个包含行,另一个包含行:
import csv with open('data.csv', 'r') as csv_file: csv_reader = csv.reader(csv_file) next(csv_reader) rows = [] lines = [] for item in csv_reader: temp = item[0].split(" ") rows.append(temp[0]) lines.append(temp[1]) print(temp[0])
我的理解是,您要求输出所有数据字段。csv_reader已经将您的行分隔为单个单元格的列表
当前脚本一次读取一行文件,并使用此行打印每行中的第一项:
for row in csv_reader: print(row[0])
打印行[0]只打印csv行中的第一个字段,而不打印该行:
for row in csv_reader: print(row)
将输出字段列表(来自我的示例csv):
['r0v0', 'r0v1', 'r0v2'] ['r1v0', 'r1v1', 'r1v2']
如果要以更好的格式打印,可以使用“连接”:
for row in csv_reader: print(", ".join(row))
输出:
r0v0, r0v1, r0v2 r1v0, r1v1, r1v2
我的csv:
r0v0,r0v1,r0v2 r1v0,r1v1,r1v2
如果您的意思是,每一行都将成为列表中的一个元素,并按此方式进行:
with open('data.csv', 'r') as csv_file: reader = csv.reader(csv_file) data_list = [row[0] for row in reader]
否则,如果要创建每行第一个元素的列表,可以执行以下操作:
with open('data.csv', 'r') as csv_file: reader = csv.reader(csv_file) row0_list = [] for row in reader: row0_list.append(row[0])
我希望这个解释能解决问题
据我所知,您的csv文件如下所示:
如果可能的话,我应该重新通信并将其更改为:
(在行和行之间添加空格)
然后,您可以将代码更新为下面的代码行,以仅打印行并创建两个列表-一个包含行,另一个包含行:
我的理解是,您要求输出所有数据字段。csv_reader已经将您的行分隔为单个单元格的列表
当前脚本一次读取一行文件,并使用此行打印每行中的第一项:
打印行[0]只打印csv行中的第一个字段,而不打印该行:
将输出字段列表(来自我的示例csv):
如果要以更好的格式打印,可以使用“连接”:
输出:
我的csv:
如果您的意思是,每一行都将成为列表中的一个元素,并按此方式进行:
否则,如果要创建每行第一个元素的列表,可以执行以下操作:
我希望这个解释能解决问题
相关问题 更多 >
编程相关推荐