小编S1s*_*hus的帖子

将csv文件的第一列解析为新文件

操作系统:OSX方法:从命令行开始,所以使用sed,cut,gawk,虽然最好没有安装模块.

本质上我试图获取csv文件的第一列并将其解析为一个新文件.

示例输入文件

EXAMPLEfoo,60,6
EXAMPLEbar,30,6
EXAMPLE1,60,3
EXAMPLE2,120,6
EXAMPLE3,60,6
EXAMPLE4,30,6
Run Code Online (Sandbox Code Playgroud)

欲望输出

EXAMPLEfoo 
EXAMPLEbar
EXAMPLE1
EXAMPLE2
EXAMPLE3
EXAMPLE4
Run Code Online (Sandbox Code Playgroud)

所以我想要第一列.

这是我到目前为止所尝试的:

awk -F"," '{print $1}' in.csv > out.txt

awk -F"," '{for (i=2;i<=NF;i++)}' in.csv > out.txt

awk -F"," 'BEGIN { OFS="," }' '{print $1}' in.csv > out.txt

cat in.csv | cut -d \, -f 1 > out.txt
Run Code Online (Sandbox Code Playgroud)

似乎没有工作,他们只是打印第一行或根本没有,所以我认为它没有逐行阅读.

csv bash awk cut sed

32
推荐指数
3
解决办法
4万
查看次数

均匀地分配列表中的所有项目

我有一段时间遇到这个问题,仍然在尝试解决方案.

在列表中均匀分配项目的最佳方法是什么,差异很小?

假设我们在数组中有一个列表或元素:

Red, Red, Red, Red, Red, Blue, Blue, Blue, Green, Green, Green, Yellow
Run Code Online (Sandbox Code Playgroud)

理想情况下,输出会产生类似于:

Red, Blue, Red, Green, Red, Yellow, Blue, Red, Green, Red, Blue, Green.
Run Code Online (Sandbox Code Playgroud)

每个实例尽可能"远离"自身的另一个实例......

当我第一次尝试尝试解决这个问题时,我必须承认我天真,所以我只是使用某种形式的种子随机数来洗牌,但这会导致实例聚集.

建议从频率最高的项目开始,因此红色将被置于n*12/5的位置,n为0到4(包括0和4).

然后将下一个最重复的元素(蓝色)放置在n*12/3 + 1的位置,n为0到2(包括0和2).如果已经有东西放在那里,只需把它放在下一个空位.然而,当它在纸上记录时,这并不适用于所有情况,

说清单是唯一的

Red, Red, Red, Red, Red, Blue
Run Code Online (Sandbox Code Playgroud)

它会失败.

其中任一选项有三个相同颜色的邻接

Red, Red, Blue, Red, Red, Red
Red, Red, Red, Blue, Red, Red
Run Code Online (Sandbox Code Playgroud)

所以,任何想法或实现如何做到这一点将是非常棒的.

如果重要的是我正在研究objective-c,但现在我关心的是如何做到这一点的方法.

algorithm math

13
推荐指数
2
解决办法
2471
查看次数

将变量从文本文件加载到bash脚本中

是否可以从文本文件中加载新行到bash中的变量?

文本文件看起来像?

EXAMPLEfoo 
EXAMPLEbar
EXAMPLE1
EXAMPLE2
EXAMPLE3
EXAMPLE4
Run Code Online (Sandbox Code Playgroud)

变量成为

$1 = EXAMPLEfoo 
$2 = EXAMPLEbar 
Run Code Online (Sandbox Code Playgroud)

ans等等?

bash

9
推荐指数
1
解决办法
3万
查看次数

从csv文件中的数据创建多个csv文件

系统OSX或Linux

我正在尝试自动化我的工作流程,每周我收到一个excel文件,我将其转换为csv.

一个例子是:

,,L1,,,L2,,,L3,,,L4,,,L5,,,L6,,,L7,,,L8,,,L9,,,L10,,,L11,
Title,r/t,needed,actual,Inst,needed,actual,Inst,needed,actual,Inst,needed,actual,Inst,neede d,actual,Inst,needed,actual,Inst,needed,actual,Inst,needed,actual,Inst,needed,actual,Inst,needed,actual,Inst,needed,actual,Inst
EXAMPLEfoo,60,6,6,6,0,0,0,0,0,0,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
EXAMPLEbar,30,6,6,12,6,7,14,6,6,12,6,6,12,6,8,16,6,7,14,6,7.5,15,6,6,12,6,8,16,6,0,0,6,7,14
EXAMPLE1,60,3,3,3,3,5,5,3,4,4,3,3,3,3,6,6,3,4,4,3,3,3,3,4,4,3,8,8,3,0,0,3,4,4
EXAMPLE2,120,6,6,3,0,0,0,6,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
EXAMPLE3,60,6,6,6,6,8,8,6,6,6,6,6,6,0,0,0,0,0,0,6,8,8,6,6,6,0,0,0,0,0,0,0,10,10
EXAMPLE4,30,6,6,12,6,7,14,6,6,12,6,6,12,3,5.5,11,6,7.5,15,6,6,12,6,0,0,6,9,18,6,0,0,6,6.5,13
Run Code Online (Sandbox Code Playgroud)

因此,您可以了解它在excel中的外观: alt text http://i42.tinypic.com/2dt2glt.png

我需要做的是为第1行中的每个实例创建多个csv文件,因此L1,L2,L3,L4 ......

在每个csv文件中,它需要包含所需的标题r/t

所以对于L1,一个例子输出看起来像:

EXAMPLEfoo,60,6
EXAMPLEbar,30,6
EXAMPLE1,60,3
EXAMPLE2,120,6
EXAMPLE3,60,6
EXAMPLE4,30,6
Run Code Online (Sandbox Code Playgroud)

对于L2:

EXAMPLEfoo,60,0
EXAMPLEbar,30,6
EXAMPLE1,60,3
EXAMPLE2,120,0
EXAMPLE3,60,6
EXAMPLE4,30,6
Run Code Online (Sandbox Code Playgroud)

等等.

我试过玩sed和awk并打谷歌,但我发现什么都没有真正解决这个问题.

我认为perl特别适合这个或者python,所以我很乐意接受用户的建议.

那么,有什么建议吗?

提前致谢.

python bash perl awk sed

7
推荐指数
1
解决办法
1575
查看次数

从可变数组中填充NSTableview

我已经尝试了两天,不断遇到死胡同.

我已经完成了Aaron Hillegass的MAC OS X可可编程,并完成了所有与NSTableview和可变数组相关的练习,我一直在尝试修改它们以满足我的需求.

但是,它们似乎都没有使用带有对象的数组作为数据源,它似乎使用tableview作为数据源.

我想实现的Jonas Jongejan的" 返工"我的代码在这里,用可可前端显示结果.

我知道的任何指示或建议应该很简单,但我在这里旷野迷路了.

我可以通过设置数组填充表

cocoa objective-c nstableview

7
推荐指数
1
解决办法
1万
查看次数

在目录中的所有文件上运行python脚本

我有一个Python脚本,可以读取文本csv文件并创建播放列表文件.但是我一次只能做一个,比如:

python playlist.py foo.csv foolist.txt
Run Code Online (Sandbox Code Playgroud)

但是,我有一个文件目录需要制作成播放列表,具有不同的名称,有时还有不同数量的文件.

到目前为止,我已经看过创建一个txt文件,其中列出了目录中文件的所有名称,然后循环遍历每一行,但我知道必须有一种更简单的方法.

python scripting command-line

4
推荐指数
2
解决办法
1万
查看次数

用bash写一个文件

我只需要写

"echo" t${count} = "$"t${count}"
Run Code Online (Sandbox Code Playgroud)

到一个文本文件,包括所有的所以输出将是这样的:

echo "  t1  = $t1"
Run Code Online (Sandbox Code Playgroud)

"就像他们一样.所以我试过:

count=1
saveIFS="$IFS"
IFS=$'\n'
array=($(<TEST.txt))
IFS="$saveIFS"
for i in "${array[@]}"
do
echo "echo" t${count} = "$"t${count}""
(( count++ ))
done >> long1.txt
Run Code Online (Sandbox Code Playgroud)

对此的变化如:

echo "echo" """"" t${count} = "$"t${count}""
Run Code Online (Sandbox Code Playgroud)

但我想包装"双重"只适用于变量.

想法?

bash

4
推荐指数
1
解决办法
6649
查看次数

对数组中的字符串进行排序,使其稀疏填充

例如,假设我有以下字符串:

duck duck duck duck goose goose goose dog 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我希望它尽可能地人口稀少

duck goose duck goose dog duck goose duck
Run Code Online (Sandbox Code Playgroud)

你会推荐什么样的算法?代码片段或一般指针是有用的,语言欢迎Python,C++和额外的荣誉,如果你有办法在bash中做到这一点.

c++ python algorithm bash

4
推荐指数
1
解决办法
467
查看次数

对NSMutuable阵列进行排序/混洗

我刚刚开始进入Objective-C,我正在尝试对数组进行排序,以便尽可能地降低差异.

int main()
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    NSMutableArray *myColors;

    myColors = [NSMutableArray arrayWithObjects: @"Red", @"Red",@"Red", @"Red", @"Red", @"Green", @"Green", @"Green", @"Blue", @"Blue", @"Blue", @"Yellow", nil];


    srandom(time(NULL));
    NSUInteger count = [myColors count];
    for (NSUInteger i = 0; i < count; ++i) {
        int nElements = count - i;
        int n = (random() % nElements) + i;
        [myColors exchangeObjectAtIndex:i withObjectAtIndex:n];
         NSLog (@"Element %i = %@", i, [myColors objectAtIndex: i]);
    }

[pool drain]; return 0;
}
Run Code Online (Sandbox Code Playgroud)

哪个输出像

     Element 0 …
Run Code Online (Sandbox Code Playgroud)

algorithm objective-c

4
推荐指数
1
解决办法
815
查看次数

从csv文件bash,sed,bash中删除一行

我正在寻找一种方法来删除多个csv文件中的行,在bash中使用sed,awk或任何适当的文件以0结尾.

所以有多个csv文件,它们的格式是:

EXAMPLEfoo,60,6
EXAMPLEbar,30,10
EXAMPLElong,60,0
EXAMPLEcon,120,6
EXAMPLEdev,60,0
EXAMPLErandom,30,6
Run Code Online (Sandbox Code Playgroud)

因此该文件将被修改为:

EXAMPLEfoo,60,6
EXAMPLEbar,30,10
EXAMPLEcon,120,6
EXAMPLErandom,30,6
Run Code Online (Sandbox Code Playgroud)

我能看到的一个问题是区分以零结尾的双位数和0本身.

那么任何想法?

bash command-line sed

3
推荐指数
2
解决办法
3303
查看次数

合并特定位置的两个文本文件,sed或awk

我有两个文本文件,我想将文本放在另一个文本中间,我做了一些研究并找到了有关添加单个字符串的信息:

我在名为STUFFGOESHERE的第二个文本文件中有评论,所以我尝试了:

sed '/^STUFFGOESHERE/a file1.txt' file2.txt 
Run Code Online (Sandbox Code Playgroud)

sed:1:"/ ^ STUFFGOESHERE/a long.txt":命令a期望\后跟文本

所以我尝试了不同的东西,尝试根据给定的行放置文本的内容,但没有运气.

有任何想法吗?

bash awk sed

3
推荐指数
1
解决办法
3071
查看次数

使用多个点确定圆的中心/中心

我想知道是否有人可以帮助我,我可以使用指南针在笔和纸上做,但不能在Actionscript 3中做到.

正如标题所说,基本上我需要使用半径中的多个点找到圆的中心.

algorithm flash geometry 2d actionscript-3

2
推荐指数
1
解决办法
1187
查看次数