我有一个文件夹,其中包含数百个(可能超过1 k)的csv数据文件,按时间顺序排列.理想情况下,这些数据将在一个csv中,以便我可以一次性分析它.我想知道的是,有没有办法使用python将所有文件相互附加.
我的文件存在于文件夹位置,如下所示:
C:\Users\folder\Database Files\1st September
C:\Users\folder\Database Files\1st October
C:\Users\folder\Database Files\1st November
C:\Users\folder\Database Files\1st December
etc
Run Code Online (Sandbox Code Playgroud)
在每个文件夹中有3个csv(我使用术语csv松散,因为这些文件实际上保存为包含由管道分隔的值的.txt文件|
)
让我们说这些文件被称为:
MonthNamOne.txt
MonthNamTwo.txt
MonthNameOneTwoMurged.txt
Run Code Online (Sandbox Code Playgroud)
我怎么样,甚至可以编写一些东西来遍历这个目录中的所有这些文件夹,然后将所有OneTwoMurged.txt
文件合并在一起?
Hello Stack Overflow我有一些代码可以抓取网站并解析小部分数据,如下所示;
System MA
user id = 2084
username = XYZ90
selection = pnq
decimal = 6.000
Percentage = 19.1176470588 %
System NA
user id = 2086
username = pron1
selection = abc
decimal = 13.000
Percentage = 13.1147540984 %
System M
user id = 1664
username = Chrisod
selection = pleader
decimal = 15.000
Percentage = 16.091954023 %
Run Code Online (Sandbox Code Playgroud)
由于以下过滤器打印以上内容:
if (deciaml > 5 and percentage > 10:
print "system", system_acn
print "user id = ",user_id
print "username = …
Run Code Online (Sandbox Code Playgroud) 我在浏览pickle读取的列表时遇到问题.此代码的最终目的是遍历每个项目并返回每个项目的ID号.
## Opening the file, and loading it into a list##
with open('TEMP_ITEMS.txt', 'rb') as openfile:
items = pickle.load(openfile)
Run Code Online (Sandbox Code Playgroud)
我试图遍历这个并找到id号的尝试是基于一些旧的xml抓取技术,但由于某种原因逻辑不适用于此.
for item in enumerate(items):
pattern0 = re.compile('ID: (.*?) <br>')
idnumber = float(re.findall(pattern0, items[0])[0])
print "ID Number: ",idnumber
Run Code Online (Sandbox Code Playgroud)
TEMP_ITEMS.txt的内容示例
(lp0
S'\n <item>\n <title>Timmy</title>\n <link>caturl</link>\n <description><![CDATA[\n Timmy <br>\n ID: 3712 <br>\n Age: 10 <br>\n Weight: 7lbs <br>\n Time: 17:23 <br>\n Cat Name: Timmy <br>\n\n ]]></description>\n <guid isPermaLink="false">04e72b29-065d-4893-a4d2-f16ff30a283e</guid>\n <pubDate>Fri, 21 Jun 2013 01:09:05 GMT</pubDate>\n </item>'
p1
aS'\n <item>\n <title>George</title>\n <link>caturl</link>\n <description><![CDATA[\n George <br>\n …
Run Code Online (Sandbox Code Playgroud) 这可能非常简单但是如何让python代码在y和z之间循环每x分钟?
例如,如果我希望我的脚本在午夜(00:00)到晚上10点(22:00)之间运行,每5分钟循环一次.
我正在运行以下脚本,以便在文件存在的情况下通过循环数月和数年来相互追加文件,我刚刚用更大的数据集测试它,我希望输出文件的大小约为600mb.但是我遇到了内存问题.首先是这是正常的遇到内存问题(我的电脑有8 GB RAM)我不知道我是如何吃掉所有这些内存空间的?
import datetime, os
import StringIO
stored_data = StringIO.StringIO()
start_year = "2011"
start_month = "November"
first_run = False
current_month = datetime.date.today().replace(day=1)
possible_month = datetime.datetime.strptime('%s %s' % (start_month, start_year), '%B %Y').date()
while possible_month <= current_month:
csv_filename = possible_month.strftime('%B %Y') + ' MRG.csv'
if os.path.exists(csv_filename):
with open(csv_filename, 'rb') as current_csv:
if first_run != False:
next(current_csv)
else:
first_run = True
stored_data.writelines(current_csv)
possible_month = (possible_month + datetime.timedelta(days=31)).replace(day=1)
if stored_data:
contents = stored_data.getvalue()
with open('FullMergedData.csv', 'wb') as output_csv:
output_csv.write(contents)
Run Code Online (Sandbox Code Playgroud)
Traceback (most …
Run Code Online (Sandbox Code Playgroud) 我收到此代码将数据分组为直方图类型数据.我一直试图理解这个pandas脚本中的代码,以便编辑,操作和复制它.我对我理解的部分有评论.
import numpy as np
import pandas as pd
column_names = ['col1', 'col2', 'col3', 'col4', 'col5', 'col6',
'col7', 'col8', 'col9', 'col10', 'col11'] #names to be used as column labels. If no names are specified then columns can be refereed to by number eg. df[0], df[1] etc.
df = pd.read_csv('data.csv', header=None, names=column_names) #header= None means there are no column headings in the csv file
df.ix[df.col11 == 'x', 'col11']=-0.08 #trick so that 'x' rows will be grouped into a category >-0.1 …
Run Code Online (Sandbox Code Playgroud) 我正在抓取一个XML文件并返回一定百分比的负载,直接拉出百分比有时是负数,已经附加%符号,例如
-38%
-2%
4%
25%
Run Code Online (Sandbox Code Playgroud)
我正在尝试做一个像这样的过滤器:
if percentage < 20.0 : continue;
Run Code Online (Sandbox Code Playgroud)
但是我无法执行此过滤器,我假设为%符号的结果.
供我参考:
cell['roi']
Run Code Online (Sandbox Code Playgroud)
要获得百分比,请使用以下方法遍历每一行:
for row in xmlload1['rows']:
cell = row["cell"]
Run Code Online (Sandbox Code Playgroud)
我如何绕过这个%符号?有一个简单的方法吗?
我正在寻找一些帮助添加到我当前的代码,我有两个用户名列表,列表将如下所示:
Fishermen A:
George
Tom
Joel
Tom
Lance
Fishermen B:
George
Tom
Tom
Run Code Online (Sandbox Code Playgroud)
我希望能够做的主要是如果用户名出现在渔夫A列表和渔夫B列表中,然后计算它在两个列表中出现的次数.所以在这个例子中,代码将列出Tom 4次,George列出2次,否则什么都不做.我是编码的相对新手,所以任何评论和帮助将不胜感激.
我有大量的csv格式数据,需要根据匹配的两个参数从其中删除行。
我要删除的数据列表如下所示:
London,James Smith
London,John Oliver
London,John-Smith-Harrison
Paris,Hermione
Paris,Trevor Wilson
New York City,Charlie Chaplin
New York City,Ned Stark
New York City,Thoma' Becket
New York City,Ryan-Dover
Run Code Online (Sandbox Code Playgroud)
然后,主csv将根据城市名称与第二列的匹配以及该名称与第9列的名称的匹配来删除行。
如果两者都匹配,请删除主csv中的行(请注意,此处未提供此csv的示例)。
所以,我使用脚本来计算一个人在行中指定的日期之前的日期出现的次数,并且在第6列中出现1,并且还计算一个人的次数(列7)在行中指定的日期之前的日期列表中显示(注意它们按时间顺序排序.)(使用基于零的列引用)
02/01/2005,Data,Class xpv,4,11yo+,4,1,George Smith
02/01/2005,Data,Class xpv,4,11yo+,4,2,Ted James
02/01/2005,Data,Class xpv,4,11yo+,4,3,Emma Lilly
02/01/2005,Data,Class xpv,4,11yo+,4,5,George Smith
02/01/2005,Data,Class xpv,4,11yo+,6,4,Tom Phillips
03/01/2005,Data,Class tn2,4,10yo+,6,2,Tom Phillips
03/01/2005,Data,Class tn2,4,10yo+,6,5,George Smith
03/01/2005,Data,Class tn2,4,10yo+,6,3,Tom Phillips
03/01/2005,Data,Class tn2,4,10yo+,6,1,Emma Lilly
03/01/2005,Data,Class tn2,4,10yo+,6,6,George Smith
04/01/2005,Data,Class tn2,4,10yo+,6,6,Ted James
04/01/2005,Data,Class tn2,4,10yo+,6,3,Tom Phillips
04/01/2005,Data,Class tn2,4,10yo+,6,2,George Smith
04/01/2005,Data,Class tn2,4,10yo+,6,4,George Smith
04/01/2005,Data,Class tn2,4,10yo+,6,1,George Smith
04/01/2005,Data,Class tn2,4,10yo+,6,5,Tom Phillips
05/01/2005,Data,Class 22zn,2,10yo+,5,3,Emma Lilly
05/01/2005,Data,Class 22zn,2,10yo+,5,1,Ted James
05/01/2005,Data,Class 22zn,2,10yo+,5,2,George Smith
05/01/2005,Data,Class 22zn,2,10yo+,5,4,Emma Lilly
05/01/2005,Data,Class 22zn,2,10yo+,5,5,Tom Phillips
Run Code Online (Sandbox Code Playgroud)
import csv
import datetime
import copy
from collections import defaultdict
with open(r"C:\Temp\test.csv") as i, …
Run Code Online (Sandbox Code Playgroud)