在我的python脚本中,我具有一个具有以下结构的列表:
['00:00', 'abc', '2', 'xyz']
['00:01', 'cde', '3', 'sda']
等等。我想将此列表写入csv文件,其方式是每个元素都在单独的行中,一个元素中的每个字符串在单独的列中。所以我想在csv文件中得到以下结果:
A | B | C | D
1 00:00 | abc | 2 | xyz
2 00:01 | xyz | 3 | sda
目前,我有这样的代码:
with open('test1.csv',mode='w',encoding='UTF-8') as result_file:
wr = csv.writer(result_file, dialect='excel')
for x in data:
wr.writerow(x)
我得到的结果是列表中的每个元素都被写入了列A,所以看起来像这样:
A |
1 '00:00','abc','2','xyz' |
如何实现将每个字符串拆分为csv文件中的单独列?
如果我从前三个答案中运行代码,则会得到相同的结果(除分度符外):
但是我的想法是在A列中获取00:00,在B列中获取-6,依此类推。
问题来源:stackoverflow
“熊猫”方法怎么样?漂亮又简单...
import pandas as pd
data = [['00:00', 'abc', '2', 'xyz'], ['00:01', 'cde', '3', 'sda']]
cols = ['A', 'B', 'C', 'D']
# Load data into a DataFrame.
df = pd.DataFrame(data, columns=cols)
# Write the CSV.
df.to_csv('output.csv', sep='|', index=False)
根据文档,您可以使用sep
参数更改分隔符。
[编辑]输出:
从控制台显示的output.csv的内容:
user@host ~/Desktop/so
$ cat output.csv
A|B|C|D
00:00|abc|2|xyz
00:01|cde|3|sda
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。