我有一个庞大的8GB CSV文件,其中包含有关在法国创建的公司的信息。我设法使用以下方法在python中读取文件:
df = pd.read_csv('File', sep=";", encoding="latin", iterator = True, chunksize=1000)
我知道这段代码行得通,因为当我编写下面的代码时,我得到了带有3个随机行的类似数据帧的输出:
df.get_chunk(3)
问题是,现在我希望能够处理数据;像在通常的数据框中那样,对行使用条件进行提取,例如:
df[(df.Country == "France")]
例如,在一个数据框中,上面的代码将仅保留France的行。但是当我尝试时:
df.read(df[(df.Country == "France")])
我得到:“ TextFileReader”对象没有属性“国家/地区”
如何使用“ ==”或“>”或“ <”之类的条件对列进行行处理并将其存储到数据框中?
谢谢
答案 0 :(得分:0)
很遗憾,r'\s\.[a-zA-Z]'
但是,如果我猜对了,这可能对您有用
How can I rows columns using criteria like
答案 1 :(得分:0)
谢谢您的回答,如果我的问题令人困惑,也深表歉意。
我刚刚找到了一个解决方案,该方法是定义一个空的数据框(df_s),并使用for循环使用标准(仅法国公司)填充它,如下所示:
df_s = []
file='Path\file.csv'
txt = pd.read_csv(file, sep=";", encoding="latin", iterator = True, chunksize=2000)
for df in txt:
df_s.append(df[df['Country' == "France"])
df_f = pd.concat(df_s,ignore_index = True)