如何使用 python 在 csv 文件中写入包含逗号的列表?
How to write list which contains comma in csv file using python?
列表包含以下数据,
['Obama', 'John Barta', 'IN, 33, 33', '444', '']
我正在尝试使用以下代码将此数据写入 csv 文件,
with open(output_file, 'w') as writeFile:
writer = csv.writer(writeFile, delimiter=',', quotechar="'", quoting=csv.QUOTE_NONE)
writer.writerow(colValues)
但是在 csv 文件中得到低于输出,
"Obama","John Barta",'"IN, 33, 33"',"444",""
我不想在“"IN, 33, 33"”之间使用单引号。
期望输出:
"Obama","John Barta","IN, 33, 33","444",""
如果您从 csv.writer
调用中删除 quotechar
参数,它应该会为您提供所需的行为。例如,您的函数调用将变为
writer = csv.writer(writeFile, delimiter=',', quoting=csv.QUOTE_NONE)
quotechar
参数是 delimiter
或其他特殊字符出现时放置的内容。
从您的样本输出来看,您似乎想要引用所有字段。所以最直接的方法是:
writer = csv.writer(writeFile, delimiter=',',
quotechar='"', quoting=csv.QUOTE_ALL)
我还将 quotechar
更改为双引号,因为它也在您的示例输出中。
也许这太简单了,但默认写入,读取returns原始列表:
import csv
col_values = ['Obama', 'John Barta', 'IN, 33, 33', '444', '']
with open('data.csv', 'w') as writeFile:
writer = csv.writer(writeFile)
writer.writerow(col_values)
#=> Obama,John Barta,"IN, 33, 33",444,
with open('data.csv', 'r') as f:
reader = csv.reader(f)
p_list = list(reader)
print(p_list)
#=> [['Obama', 'John Barta', 'IN, 33, 33', '444', '']]
列表包含以下数据,
['Obama', 'John Barta', 'IN, 33, 33', '444', '']
我正在尝试使用以下代码将此数据写入 csv 文件,
with open(output_file, 'w') as writeFile:
writer = csv.writer(writeFile, delimiter=',', quotechar="'", quoting=csv.QUOTE_NONE)
writer.writerow(colValues)
但是在 csv 文件中得到低于输出,
"Obama","John Barta",'"IN, 33, 33"',"444",""
我不想在“"IN, 33, 33"”之间使用单引号。
期望输出:
"Obama","John Barta","IN, 33, 33","444",""
如果您从 csv.writer
调用中删除 quotechar
参数,它应该会为您提供所需的行为。例如,您的函数调用将变为
writer = csv.writer(writeFile, delimiter=',', quoting=csv.QUOTE_NONE)
quotechar
参数是 delimiter
或其他特殊字符出现时放置的内容。
从您的样本输出来看,您似乎想要引用所有字段。所以最直接的方法是:
writer = csv.writer(writeFile, delimiter=',',
quotechar='"', quoting=csv.QUOTE_ALL)
我还将 quotechar
更改为双引号,因为它也在您的示例输出中。
也许这太简单了,但默认写入,读取returns原始列表:
import csv
col_values = ['Obama', 'John Barta', 'IN, 33, 33', '444', '']
with open('data.csv', 'w') as writeFile:
writer = csv.writer(writeFile)
writer.writerow(col_values)
#=> Obama,John Barta,"IN, 33, 33",444,
with open('data.csv', 'r') as f:
reader = csv.reader(f)
p_list = list(reader)
print(p_list)
#=> [['Obama', 'John Barta', 'IN, 33, 33', '444', '']]