python - Pandas 正确打印到屏幕,但仅将一些数据保存到 csv

标签 python csv pandas

这是我的代码:

import pandas as pd
import os, glob
from pandas import Panel
import sqlite3

my_dir = '/home/manish/Desktop/Equity/'
filelist = []
fileList = []
os.chdir(my_dir)

for files in glob.glob('*.txt'):
    p = pd.read_csv(files, names = ['Name', 'Date', 'Open', 'High',
               'Low', 'Close', 'Volume', 'Null'])
    del p['Null']
    print p
    p.to_csv('monthly.csv', sep = ',')

#Even this does not work
#p.to_csv('monthly.csv', sep = ',')

我的问题是数据正确打印到屏幕上,但是当我将其保存到 csv 时,它只保存 1 个特定日期的数据。

最佳答案

你应该这样做:

my_dir = '/home/manish/Desktop/Equity/'
filelist = []
os.chdir(my_dir)

dfs = []
for files in glob.glob('*.txt'):
    dfs.append(pd.read_csv(files, names = ['Name', 'Date', 'Open', 'High',
               'Low', 'Close', 'Volume', 'Null']))
p = pd.concat(dfs)
del p['Null']
print p
p.to_csv('monthly.csv', sep = ',')

基本上,我将从 csv 文件创建的所有数据帧附加到列表中。 然后我使用 pd.concat函数合并数据帧列表 dfs 的每个元素之间的所有行。 然后我删除“空”列。 您可能希望使用 print p.head() 来仅显示前 5 个元素(默认参数为 5)或 p.tail() 来显示末尾,而不是 print p。 最后 p.to_csv 将所有合并的行导出到您想要的文件中。

关于python - Pandas 正确打印到屏幕,但仅将一些数据保存到 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32531058/

相关文章:

python - Django 2.0 与关键字参数 uidb64 的 NoReverseMatch

javascript - 使用 PHP 导出为带有中文字符的 CSV

python - 将修改后的子框架嵌入到原始子框架中

python - 如何使用 PIL 将 python 图像放在一起?

python - 带有亚马逊图书 ISBN 的间歇性 BeautifulSoup

csv - 以分布式方式读取Spark中的CSV文件

c++ - 为什么我不能从这个数据集中删除虚假的 0?

跨选择的 Python Pandas XlsxWriter 中心

python - Pandas:如何有条件地对两个不同数据框中的值求和

python - django:redis:CommandError: 你没有设置ASGI_APPLICATION,这是运行服务器所需要的