首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列表为csv,csv为列表

列表为csv,csv为列表
EN

Stack Overflow用户
提问于 2021-04-06 12:07:56
回答 1查看 69关注 0票数 0

我有一份清单:

代码语言:javascript
复制
[Header, 132, mail@wurst, [adasdsd, 1, 3, 4], [sdsdsd, 12, 3, 4], [sdsds, 3, 3]]

并希望将其保存为csv文件,并在通过ftp作为相同列表传输后导入它。我要:

代码语言:javascript
复制
[Header, 132, mail@wurst, [adasdsd, 1, 3, 4], [sdsdsd, 12, 3, 4], [sdsds, 3, 3]]

但是在导入列表之后,我无法找到一种具有相同列表结构的方法。无论我使用何种堆栈溢出解决方案,导入后总是会更改列表的结构。

没有解决办法,包括:

  • Pandas
  • Numpy
  • changes on list

只使用以下两种解决方案:

没有导入的

  • csv编写器
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-06 16:41:09

如果您知道标题长度(本例中为3),则可以对其进行硬编码。否则,你将不得不做一些非常俗气的事情,或处理标题,就像其他每一个记录。

代码语言:javascript
复制
from __future__ import print_function
import csv
listing = [
        'Header', 132, 'mail@wurst',
        ['adasdsd', 1, 3, 4],
        ['sdsdsd', 12, 3, 4],
        ['sdsds', 3, 3]
]
with open('listing.csv', 'w') as outfile:
    csvout = csv.writer(outfile)
    csvout.writerow(listing[:3])
    csvout.writerows(listing[3:])
with open('listing.csv') as infile:
    csvin = csv.reader(infile)
    header = next(csvin)
    listing = [row for row in csvin]
    print(header + listing)

后来又加上..。当然,如果CSV文件已经存在,则不需要执行硬编码。首先读取该文件,您已经将头与其余部分分开。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66968361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档