CSV reader 在 python 中将三列值作为单个字符串返回
CSV reader returning three column value as a single string in python
我正在尝试读取包含以下数据的 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 文件,例如列值中任意位置的双引号,并创建新文件并删除此类字符。为此,我需要解决这个问题。
最后通过在 reader 方法中再添加一个参数 (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 文件中的列数与输出列表相同。
我正在尝试读取包含以下数据的 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 文件,例如列值中任意位置的双引号,并创建新文件并删除此类字符。为此,我需要解决这个问题。
最后通过在 reader 方法中再添加一个参数 (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 文件中的列数与输出列表相同。