相关疑难解决方法(0)

如何使用AWK合并两个文件?

文件1有5个字段ABCDE,字段A是整数值

文件2有3个字段AFG

文件1中的行数远大于文件2中的行数(20 ^ 6到5000)

文件1中A的所有条目都出现在文件2的字段A中

我想通过字段A合并这两个文件并携带F和G.

期望的输出是ABCDEFG

档案1

 A     B     C    D    E
4050 S00001 31228 3286 0
4050 S00012 31227 4251 0
4049 S00001 28342 3021 1
4048 S00001 46578 4210 0
4048 S00113 31221 4250 0
4047 S00122 31225 4249 0
4046 S00344 31322 4000 1
Run Code Online (Sandbox Code Playgroud)

档案2

A     F    G   
4050 12.1 23.6
4049 14.4 47.8   
4048 23.2 43.9
4047 45.5 21.6
Run Code Online (Sandbox Code Playgroud)

期望的输出

A    B      C      D   E F    G
4050 S00001 31228 3286 0 12.1 …
Run Code Online (Sandbox Code Playgroud)

unix linux bash awk

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

值错误:数组太大

我正在尝试使用以下代码合并两个 excel 文件并遇到错误 ValueError: array is too big; arr.size * arr.dtype.itemsize is larger than the maximum possible size.

import pandas as pd

file1 = pd.read_excel("file1.xlsx")
file2 = pd.read_excel("file2.xlsx")

file3 = file1.merge(file2, on="Input E-mail", how="outer")

file3.to_excel("merged1.xlsx")
Run Code Online (Sandbox Code Playgroud)

文件大小为 ~100MB+~100MB,可用内存为 9GB(16GB)

python

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

使用Unix JOIN命令合并两个文件

尽管进行了所有研究,但这并不像我预期的那样有效.我肯定错过了什么...

档案1 ......

# cat file1.csv
1       123     JohnDoe
1       456     BobDylan
1       789     BillyJean
Run Code Online (Sandbox Code Playgroud)

档案2 ......

# cat file2.csv
111     123     DaddyDoe
222     456     DaddyDylan
666     777     Stranger
555     789     DaddyJean
444     888     Stranger
333     999     Stranger
Run Code Online (Sandbox Code Playgroud)

我想加入第二个领域.当我执行左外连接并且只包含第一个文件中的字段时,一切看起来都很花哨.

# join -1 2 -2 2 -a 1 -o 1.2 1.3 file1.csv file2.csv
123 JohnDoe
456 BobDylan
789 BillyJean
Run Code Online (Sandbox Code Playgroud)

但是只要我从第二个文件中包含一个字段,就会变得很糟糕.

# join -1 2 -2 2 -a 1 -o 1.2 1.3 2.3 file1.csv file2.csv
 DaddyDoeoe
 DaddyDylann
789 BillyJean DaddyJean
Run Code Online (Sandbox Code Playgroud)

最后一行看起来很完美!与他人有什么关系?任何的想法?提前致谢!

编辑:这是我尝试使用实际的CSV. …

unix join

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

标签 统计

unix ×2

awk ×1

bash ×1

join ×1

linux ×1

python ×1