【发布时间】:2014-12-02 07:38:31
【问题描述】:
我是 Python 新手,对编码员不太熟悉。我有 40 多个要组合在一起的文本文件(在“宽”csv 中,而不是“高”csv。也就是说,我不想附加文件)并生成一个新的 csv。
使用 Pandas (merge) 我能够实现我想要的,但我认为有一种更简单的方法。这是其中的七个文件:
将熊猫导入为 pd
a = pd.read_csv("c:/pyTest/B01001.txt")
b = pd.read_csv("c:/pyTest/B01002.txt")
c = pd.read_csv("c:/pyTest/B01003.txt")
d = pd.read_csv("c:/pyTest/B02001.txt")
e = pd.read_csv("c:/pyTest/B05001.txt")
f = pd.read_csv("c:/pyTest/B05002.txt")
g = pd.read_csv("c:/pyTest/B05012.txt")
merged = a.merge(b.merge(c.merge(d.merge(e.merge(f.merge(g, on='GEOID'), on='GEOID'), on='GEOID'), on='GEOID'), on='GEOID'), on='GEOID')
merged.to_csv("c:/pytest/fook.csv", index=False)
如果重复的列名(例如“GEOID”)不在输出文件中重复,那就太好了。
非常感谢您的专家提供的任何帮助。
【问题讨论】:
-
你能给我看一个例子,说明两个文件的外观(只有一行)以及你希望它们如何结束吗?我不遵循你的“高”/“宽”类比。
-
我觉得这和你想做的很像? stackoverflow.com/questions/18689453/…