(实际输入的 CSV 正常以逗号分隔;我只是将我的想法显示为表格以便于查看。)
这是我想使用 Python 2.7 做的一个例子(如果它更好/更容易,熊猫,但我也喜欢学习 python 逻辑,熊猫跳过了很多,尽管我可能不得不为这样的东西学习它):
从
Price Name Text Number Choice URL Email
$40 Foo Stuff 560 Y www.a.com a@a.com
$60 Foo Things 280 N www.a.com a@a.com
$20 Foo Other 120 Y www.a.com a@a.com
$25 John Gals 1222 N www.b.com b@b.com
$100 Bar Dudes 999 Y www.c.com c@c.com
$250 Bar Guys 200 Y www.c.com c@c.com
至
Name Price1 Price2 Price3 Text1 Text2 Text3 Number1 Number2 Number3 Choice1 Choice2 Choice3 URL Email
Foo $40 $60 $20 Stuff Things Other 560 280 120 Y N Y www.a.com a@a.com
John $25 Gals 1222 N www.b.com b@b.com
Bar $100 $250 Dudes Guys 999 200 Y Y www.c.com c@c.com
列的顺序无关紧要,但我想按名称列作为规则进行组合。(希望我做对了,因为这个例子很痛苦!)
为了获得额外的功劳,如果单元格为空白,我很想阻止一个单元格填充新列:例如,如果上面a@a.com
第 2 行缺少,看起来会相同,而不是生成“Email2”列。此外,虽然列的顺序无关紧要(我使用它来填充需要 CSV 输入的数据库),但编号必须匹配!也就是说,对于任何给定的名称,例如上面的 Foo:$60、Things、280 和 N 都必须在标记为“[OrigName]2”的列中 - 并且对于任何给定标签,当 column1 为空白时,不应填充 Column2。From
To
这应该很容易,但为了完整起见,我还需要一列将填充的文本列(例如整数列“文本数量”)相加,另一列将标记为“免费”的“价格”的数量相加(例如,“自由文本的数量”)。
非常感谢您的帮助 - 我已经为我将从中学到的东西感到兴奋,并且随时欢迎进一步阅读资源!