- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有两个如下所示的列表:
list1 = ['filename1', 'filename2', 'filename3']
list2 = ['1', '2', ['3', '4', '5']]
我怎样才能写入一个这样的 csv 文件?
filename1,1
filename2,2
filename3,3,4,5
我尝试了两种方法,但都没有用:
with open(outfname, 'wb') as fout:
csv_out = csv.writer(fout)
csv_out.writerows(izip(list1, list2))
这表明:
filename1,['1']
filename2,['2']
filename3,['3','4','5']
我尝试在 writerows 之前添加这个:
",".join(list2)
但是结果会显示:
filename1,1
filename2,2
filename3,"1,2,3"
最佳答案
@Satya 有一个使用 pandas 的好主意,但你需要展平 list2,你可以使用 .apply()
来做到这一点:
>>> import pandas as pd
>>> import sys
>>> df = pd.DataFrame({'list1': list1, 'list2': list2})
>>> df = df.join(df.list2.apply(lambda x: pd.Series(x)))
>>> df.drop('list2', axis=1).to_csv(sys.stdout, header=False, index=False)
filename1,1,,
filename2,2,,
filename3,3,4,5
这会在缺少数据的地方放置空字段。
或者,您可以编写自己的特殊 zip:
def my_zip(l1, l2):
for a, b in zip(l1, l2):
try:
yield [a]+b
except TypeError:
yield [a, b]
>>> csv_out = csv.writer(sys.stdout)
>>> csv_out.writerows(my_zip(list1, list2))
filename1,1
filename2,2
filename3,3,4,5
这正是请求的输出。
关于python - 如何使用 csv 将列表写成单独的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34891527/
在 Erlang 中,使用 =>要比较两个变量会导致语法错误,您必须使用 >=反而: 1> 10 => 5. * 1: syntax error before: '>' 2> 10 >= 5. tru
在少数情况下,日期写为“created ca.”。 1858-60',人类读者会将其理解为“约 1858-1860 年创建”。 因此,想象两个代表年的整数。 a = 1858 b = 60 我希望能够
是否可以用经典的 asp 写出我得到的带有字母的输出整数? 例如,如果我的结果是 5,我想输出“五” 或者如果是二十,我需要它显示“二十” 结果可能是无限的,因此编写一个用于查找目的的数组是行不通的。
这就是我正在做的,我读取了一个 .mp3 文件,以这种方式将其转换为 Base64String: using (fileStream) {
是否有任何算法可以找出有多少种方法可以写出一个数字,例如 n ,其总和为 2 ? 例如:对于 4 有四种方法: 4 = 4 4 = 2 + 2 4 = 1 + 1 + 1 + 1 4 = 2 + 1
我正在尝试 transform()一个Dataset在 Java 中如下所示: Function1,Dataset> withDoubled = (Dataset numbers) -> number
这个问题在这里已经有了答案: Convert integer to hexadecimal and back again (11 个答案) 关闭 7 年前。 在 c# 中,我将错误代码定义为 pub
如何使用 Flink 将 DataSet 作为 Parquet 文件写入 s3 bucket。是否有像 spark 这样的直接函数:DF.write.parquet("write in parquet
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 3 年前。 Improve
在CLRS中,作者通过以下伪代码介绍了红黑树中的旋转操作: LEFT-ROTATE(T, x) y = x.right # Line 1 x.right = y.left
我是一名优秀的程序员,十分优秀!