【发布时间】:2018-12-14 23:44:48
【问题描述】:
我有几个 csv 格式的文件,例如 100-age.csv 100-rel.csv 100-gender.csv 101-age.csv ... 101-gender.csv ... 482-rel.csv 482-gender.csv 等。我必须为每个索引创建新文件,即 100-combo.csv 它将加入 100-age.csv 100-rel.csv 和 100-gender.csv 水平 .我可以使用 pandas 对一个文件执行此操作
import pandas as pd
age = pd.read_csv('100-age.csv', header=None)
gender = pd.read_csv('100-gender.csv', header=None)
rel = pd.read_csv('100-rel.csv', header=None)
combined = pd.concat([age, gender, rel], axis=1)
combined.to_csv('100-combo.csv', header=None, index=None)
使用 linux,有像 cat 这样的方法只能垂直添加,即相互堆叠,而 paste 命令会扰乱我在这些文件中的格式。
def merged_data(i):
age = pd.read_csv(path+str(i)+'.pdf-age.csv', header=None, error_bad_lines=False)
gender = pd.read_csv(path+str(i)+'.pdf-gender.csv', header=None, error_bad_lines=False)
rel = pd.read_csv(path+str(i)+'.pdf-rel.csv', header=None, error_bad_lines=False)
combined = pd.concat([age, gender, rel], axis=1)
combined['block'] = str(i)
combined.to_csv(path+str(i)+'-combo.csv', header=None, index=None)
for num in range(1,483):
merged_data(num)
我收到了这个错误
EmptyDataError: No columns to parse from file
但是,我知道我所有的数据文件都有一些或其他值
【问题讨论】:
-
我相信pandas中的代码是可以用的,但是对于多个文件我该怎么做,那个循环怎么写呢?
-
你不知道如何连接字符串?
-
我知道,但是在这种情况下我应该在哪里使用它?
-
"100-age.csv"只是str(100) + "-age.csv",我相信您可以找到更适合您需求的range -
嗨@bobrobbob 我还需要在连接时创建一个列,该列将在所有行中具有索引号 i,代码是否相同?
标签: python regex linux pandas csv