我正在尝试读取CSV文件,该文件具有以下数据
"27@21","","2725 abc dr"","","Mumbai","IN",""
使用以下代码
with open(file, "r") as csv_file:
reader = csv.reader(csv_file, delimiter=',')
for row in reader:
colValues = list(row)
print(colValues)
它以的形式输出
['27@21', '', '2725 abc dr",",Mumbai"', 'IN', '']
如果您查看上面的粗体输出,它是三列输入的组合。
我希望这个输出和给定的输入相同。
注意:我正在创建一个实用程序来处理任何具有意外特殊字符(如列值中任何位置的双引号(的csv文件,并在删除这些字符的情况下创建新文件。为此,我需要解决这个问题。
这最终通过在读取器方法中添加一个参数(quotechar(来解决,如下所示,
reader = csv.reader(csv_file, delimiter=',', quotechar="'")
Input : "27@21","","2725 abc dr"","","Mumbai","IN",""
Output : ['"27@21"', '""', '"2725 abc dr""', '""', '"Mumbai"', '"IN"', '""']
当输入csv文件中的列数与输出列表相同时,这是预期的输出。