如何在Python中创建一个包含逗号的列表。
如何在Python中创建一个包含逗号的列表。
如何在Python中创建一个字符串列表,其中的字符串可以包含逗号,以使解释器不会在逗号处中断。我正在读取一个由MSExcel创建的模板CSV文件。内容包含2列:col1 = 颜色,col2 = 可能包含逗号的句子。内容如下:
Light Green,"Matches type, instance, etc."
Red,Happens in BD10 but not BD20
Blue,"Instance and time matches, type doesn't match"
Yellow,Caught on replay
当我读取并输出读取的内容时,它会在所有逗号处断开输入行。
#我的代码片段,请原谅在清理时可能出现的任何拼写错误 with open('outfile.csv','r') as infile: blah = infile.readlines() for i in blah: line = i.strip().split(",") print line 我的输出: ['Light Green', '"Matches type', ' instance', ' etc."'] ['Red', 'Happens in BD10 but not BD20'] ['Blue', '"Instance and time matches', ' type doesn\'t match"'] ['Yellow', 'Caught on replay']
如何告诉Python在被双引号包围的情况下忽略逗号,并在其他情况下在逗号处中断?
在Python中创建一个包含逗号的元素的列表可能会遇到问题。Python提供了解析CSV文件的工具,应该使用它们来解决这个问题。
解决方法是使用Python的csv模块来解析包含逗号的元素的列表。csv模块提供了一个功能强大的reader方法,它可以解析CSV文件并将其转换为列表形式。
以下是使用csv模块解析包含逗号的元素的列表的示例代码:
import csv csv_file = open("outfile.csv", "r") csv_reader = csv.reader(csv_file) list_of_elements = list(csv_reader) print(list_of_elements)
以上代码首先打开包含CSV数据的文件,然后使用csv.reader方法创建一个读取器对象。接下来,将读取器对象转换为列表形式,并将其存储在list_of_elements变量中。最后,使用print语句打印出列表的内容。
通过使用csv模块提供的功能,我们可以轻松地解析包含逗号的元素的列表,并将其转换为Python中的列表形式。这样,我们就可以方便地处理这些数据,而不会受到逗号的影响。
当在Python中创建一个包含逗号的元素列表时,可能会遇到以下问题:在只有第一个逗号后停止拆分。这会导致在句子中的逗号也被拆分。
解决这个问题的方法是使用split()函数的第二个参数来指定拆分的次数。通过将次数设置为1,可以告诉Python只在第一个逗号后停止拆分。
以下是解决这个问题的代码示例:
line = i.strip().split(",", 1)
如果句子在col1中,颜色在col2中,那么上述的解决方法将无法正常工作,因为第一个逗号不是在第一个出现的位置。在这种情况下,可以使用其他方法来告诉Python不要在句子中的逗号处进行拆分。
然而,上述问题可能需要更多的上下文信息才能给出准确的解决方法。