Python 如何将列表内容作为单行写入csv文件
我有以下样本清单:Python 如何将列表内容作为单行写入csv文件,python,list,csv,Python,List,Csv,我有以下样本清单: sample_list = [['test1', 'test2'], ['am', 'cm']] 我想将上述列表写入csv文件。我正在为此使用以下代码: with open('sample.csv', 'wb') as f_csv: writer = csv.writer(f_csv, delimiter=',', dialect='excel') writer.writerows(sample_list) f_csv.close() 问题是,当我打开s
sample_list = [['test1', 'test2'], ['am', 'cm']]
我想将上述列表写入csv
文件。我正在为此使用以下代码:
with open('sample.csv', 'wb') as f_csv:
writer = csv.writer(f_csv, delimiter=',', dialect='excel')
writer.writerows(sample_list)
f_csv.close()
问题是,当我打开sample.csv
时,我看到test1
,test2
存储在单独的列中,与am
,cm
相同(存储在下一行)
我需要以下形式的输出:每个子列表列在单独的行中,子列表的元素列在一列中
test1,test2
am,cm
请帮我找出哪里出了问题。您需要更改列表,将逗号
,
作为值包含在转换后的字符串内容中,如果列表值的类型可以是int
,请将其转换,然后从列表中创建字符串:
sample_list = [[",".join([str(item) for item in sub])] for sub in sample_list]
如果我们在您的原始列表中添加了一个编号,那么:
sample_list = [['test1', 'test2', 392], ['am', 'cm']]
理解列表后,列表的形式如下:
sample_list = [['test1,test2,392'], ['am,cm']]
"test1,test2,392"
"am,cm"
然后,在此列表上调用writerows()
:
with open('sample.csv', 'wb') as f_csv:
writer = csv.writer(f_csv, delimiter=',', dialect='excel')
writer.writerows(sample_list)
sample.csv
中的输出格式如下:
sample_list = [['test1,test2,392'], ['am,cm']]
"test1,test2,392"
"am,cm"
另外,您不需要关闭
f_csv
。将其与with
关键字一起使用会自动解决此问题。您需要更改列表,将逗号,
作为值包含在转换后的字符串内容中,如果列表值的类型可以是int
,请将其转换,然后从列表中创建字符串:
sample_list = [[",".join([str(item) for item in sub])] for sub in sample_list]
如果我们在您的原始列表中添加了一个编号,那么:
sample_list = [['test1', 'test2', 392], ['am', 'cm']]
理解列表后,列表的形式如下:
sample_list = [['test1,test2,392'], ['am,cm']]
"test1,test2,392"
"am,cm"
然后,在此列表上调用writerows()
:
with open('sample.csv', 'wb') as f_csv:
writer = csv.writer(f_csv, delimiter=',', dialect='excel')
writer.writerows(sample_list)
sample.csv
中的输出格式如下:
sample_list = [['test1,test2,392'], ['am,cm']]
"test1,test2,392"
"am,cm"
另外,您不需要关闭
f_csv
。将其与with
关键字一起使用会自动解决此问题。您需要更改列表,将逗号,
作为值包含在转换后的字符串内容中,如果列表值的类型可以是int
,请将其转换,然后从列表中创建字符串:
sample_list = [[",".join([str(item) for item in sub])] for sub in sample_list]
如果我们在您的原始列表中添加了一个编号,那么:
sample_list = [['test1', 'test2', 392], ['am', 'cm']]
理解列表后,列表的形式如下:
sample_list = [['test1,test2,392'], ['am,cm']]
"test1,test2,392"
"am,cm"
然后,在此列表上调用writerows()
:
with open('sample.csv', 'wb') as f_csv:
writer = csv.writer(f_csv, delimiter=',', dialect='excel')
writer.writerows(sample_list)
sample.csv
中的输出格式如下:
sample_list = [['test1,test2,392'], ['am,cm']]
"test1,test2,392"
"am,cm"
另外,您不需要关闭
f_csv
。将其与with
关键字一起使用会自动解决此问题。您需要更改列表,将逗号,
作为值包含在转换后的字符串内容中,如果列表值的类型可以是int
,请将其转换,然后从列表中创建字符串:
sample_list = [[",".join([str(item) for item in sub])] for sub in sample_list]
如果我们在您的原始列表中添加了一个编号,那么:
sample_list = [['test1', 'test2', 392], ['am', 'cm']]
理解列表后,列表的形式如下:
sample_list = [['test1,test2,392'], ['am,cm']]
"test1,test2,392"
"am,cm"
然后,在此列表上调用writerows()
:
with open('sample.csv', 'wb') as f_csv:
writer = csv.writer(f_csv, delimiter=',', dialect='excel')
writer.writerows(sample_list)
sample.csv
中的输出格式如下:
sample_list = [['test1,test2,392'], ['am,cm']]
"test1,test2,392"
"am,cm"
另外,您不需要关闭
f_csv
。将其与with
关键字一起使用会自动处理该问题。以下脚本应每行生成一列:
import csv
sample_list = [['test1', 'test2', 1, 2], ['am', 'cm', 3, 4]]
with open('sample.csv', 'wb') as f_csv:
writer = csv.writer(f_csv, dialect='excel')
for sample in sample_list:
writer.writerow([','.join(map(str, sample))])
这将创建一个文件,如下所示:
"test1,test2,1,2"
"am,cm,3,4"
在Excel中打开时,将显示一列
test1,test2
am,cm
以下脚本应为每行生成一列:
import csv
sample_list = [['test1', 'test2', 1, 2], ['am', 'cm', 3, 4]]
with open('sample.csv', 'wb') as f_csv:
writer = csv.writer(f_csv, dialect='excel')
for sample in sample_list:
writer.writerow([','.join(map(str, sample))])
这将创建一个文件,如下所示:
"test1,test2,1,2"
"am,cm,3,4"
在Excel中打开时,将显示一列
test1,test2
am,cm
以下脚本应为每行生成一列:
import csv
sample_list = [['test1', 'test2', 1, 2], ['am', 'cm', 3, 4]]
with open('sample.csv', 'wb') as f_csv:
writer = csv.writer(f_csv, dialect='excel')
for sample in sample_list:
writer.writerow([','.join(map(str, sample))])
这将创建一个文件,如下所示:
"test1,test2,1,2"
"am,cm,3,4"
在Excel中打开时,将显示一列
test1,test2
am,cm
以下脚本应为每行生成一列:
import csv
sample_list = [['test1', 'test2', 1, 2], ['am', 'cm', 3, 4]]
with open('sample.csv', 'wb') as f_csv:
writer = csv.writer(f_csv, dialect='excel')
for sample in sample_list:
writer.writerow([','.join(map(str, sample))])
这将创建一个文件,如下所示:
"test1,test2,1,2"
"am,cm,3,4"
在Excel中打开时,将显示一列
test1,test2
am,cm
这里的
test\u list的值是什么?test\u list和sample\u list的值是什么?test\u list和sample\u list的值是什么?test\u list和sample\u list的值是什么?test\u list和sample\u list的值是什么?test\u list和sample\u list的值是什么与示例列表一样,我希望输出如下:test1、test2(在一行中)am、cm(在第二行中)
可能您对行和列有一些混淆。您的原始脚本在一行中输出test1、test2
,然后在下一行中输出am、cm
。使用我的脚本,我将在单独的列中获得test1和test2。我需要它们在同一列中用分隔符分隔,谢谢这是我一直在寻找的:)如果示例列表有编号,则此解决方案失败。我的示例列表可以有任何类型的值(从另一个文件读取),我希望输出如下:test1、test2(在一行中)am、cm(在第二行中)
也许您对行和列有一些混淆。您的原始脚本在一行中输出test1、test2
,然后在下一行中输出am、cm
。使用我的脚本,我将在单独的列中获得test1和test2。我需要它们在同一列中用分隔符分隔,谢谢这是我一直在寻找的:)如果示例列表有编号,则此解决方案失败。我的示例列表可以有任何类型的值(从另一个文件读取),我希望输出如下:test1、test2(在一行中)am、cm(在第二行中)
也许您对行和列有一些混淆。您的原始脚本在一行中输出test1、test2
,然后在下一行中输出am、cm
。使用我的脚本,我将在单独的列中获得test1和test2。我需要它们在同一列中用分隔符分隔,谢谢这是我一直在寻找的:)如果示例列表有编号,则此解决方案失败。我的示例列表可以有任何类型的值(从另一个文件读取),我希望输出如下:test1、test2(在一行中)am、cm(在第二行中)
也许您对行和列有一些混淆。原始脚本在一行中输出test1、test2
,然后在网元中输出am、cm